Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
05.02.2016, 12:38
|
|||
---|---|---|---|
|
|||
Умолчательное направление при построении индекса по PK |
|||
#18+
Непонятно умолчательное направление при построении индекса по PK. То есть в 9 случаях из 10 подобное поле является целочисленным и заполняется автоинкриментом генератора, поэтому актуальность получения максимального значения по полю PK на порядок выше чем минимального. Но индекс для PK по умолчанию строиться ASC, что позволяет получать с использованием данного индекса только минимальное значение, Но не максимальное. Т.е. ALTER TABLE TEST ADD CONSTRAINT PK$TEST_ID PRIMARY KEY (ID); Здесь Select max(id) from TEST не использует индекс, разумеется Здесь Select min(id) from TEST использует индекс ALTER TABLE TEST ADD CONSTRAINT PK$TEST_ID PRIMARY KEY (ID) USING DESCENDING INDEX IX$TEST_ID; Здесь будет наблюдаться обратная ситуация. Актуальность получения MAX(ID) для поля PK выше чем MIN(ID), поэтому представляется целесообразным по умолчанию строить DESС-индекс для поля PK. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 12:47
|
|||
---|---|---|---|
|
|||
Умолчательное направление при построении индекса по PK |
|||
#18+
shaposh Актуальность получения MAX(ID) для поля PK выше чем MIN(ID), поэтому представляется целесообразным по умолчанию строить DESС-индекс для поля PK. А как же генераторы? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 12:52
|
|||
---|---|---|---|
|
|||
Умолчательное направление при построении индекса по PK |
|||
#18+
shaposh, все эти рассуждения чешуя. По хорошему нужны двунаправленные индексы и они должны создаваться по умолчанию. Но когда это сделают и сделают ли вообще неизвестно. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 12:59
|
|||
---|---|---|---|
|
|||
Умолчательное направление при построении индекса по PK |
|||
#18+
"А как же генераторы?" Запись может быть удалена "нужны двунаправленные индексы" Нужны, ой как нужны, но когда они появятся и появятся ли вообще? А вот до их появления можно путем изменения умолчательного поведения улучшить ситуацию Причем реализация вряд ли трудозатратна ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 13:00
|
|||
---|---|---|---|
Умолчательное направление при построении индекса по PK |
|||
#18+
1) max(pk) это как-то совсем не по феншую 2) desc-индексы обычно чуть медленнее asc-индексов (ибо ключ длиннее) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 13:03
|
|||
---|---|---|---|
|
|||
Умолчательное направление при построении индекса по PK |
|||
#18+
Hello, Shaposh! You wrote on 5 февраля 2016 г. 13:00:06: Shaposh> Непонятно умолчательное направление при построении индекса по PK. > То есть в 9 случаях из 10 подобное поле является целочисленным и заполняется автоинкриментом генератора, > поэтому актуальность получения максимального значения по полю PK на порядок выше чем минимального. генератору похеру инкрементироваться, или декрементироваться. равно как и значению поля суррогатного ключа. инкрементируешь - твоё право. но тогда не нужно в связи с этим пытаться изменить окружающий мир, исходя из личного видения вселенской гармонии. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 13:11
|
|||
---|---|---|---|
|
|||
Умолчательное направление при построении индекса по PK |
|||
#18+
О, опять "мимопроходящий умник" с бесполезными рассуждениями на философские темы. Даже боюсь спросить как много разработчиков в процентном отношении получают целочисленный первичный ключ путём уменьшения генератора... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 13:12
|
|||
---|---|---|---|
Умолчательное направление при построении индекса по PK |
|||
#18+
shaposhактуальность получения максимального значения по полю PKВ где она ? Зачем это нужно ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 13:20
|
|||
---|---|---|---|
Умолчательное направление при построении индекса по PK |
|||
#18+
hvladshaposhактуальность получения максимального значения по полю PKВ где она ? Зачем это нужно ? Для того, чтобы получить текущую (самую актуальную, самую свежую) какую-либо сущность. Получить её можно (и нужно) с помощью SELECT MAX(ID) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 13:21
|
|||
---|---|---|---|
|
|||
Умолчательное направление при построении индекса по PK |
|||
#18+
Ну мало ли задач при реализации бизнес-логики возникает. Получить последнюю актуальную вставленную запись.... Что то там с неё прочитать Мне от различных команд программистов при внедрениях просто надоело отвечать на вопрос "почему не используется индекс в запросе "SELECT MAX(ID)" И вот никто ни разу не спросил ("почему не используется индекс при SELECT MIN(ID)") Просто получать MIN(ID) действительно не нужно практически никогда MAX(ID) - иногда нужно, но вот индекс для этого не подходит Я не прошу так сделать, я предложил рассмотреть целесообразность этого ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 13:23
|
|||
---|---|---|---|
|
|||
Умолчательное направление при построении индекса по PK |
|||
#18+
shaposhНужны, ой как нужны, но когда они появятся и появятся ли вообще? Когда кто-нибудь придумает алгоритм deadlock-free работы с двусвязным списком, чего за последние 30 лет никто так и не сумел. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 13:26
|
|||
---|---|---|---|
|
|||
Умолчательное направление при построении индекса по PK |
|||
#18+
Hello, Shaposh! You wrote on 5 февраля 2016 г. 13:26:02: Shaposh> Я не прошу так сделать, я предложил рассмотреть целесообразность этого юный наивный мечтатель Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 13:30
|
|||
---|---|---|---|
|
|||
Умолчательное направление при построении индекса по PK |
|||
#18+
"Мимопроходящему умнику" - Ты для разнообразия, хоть что-нибудь адекватное по теме... Помимо своего обычного словесного поноса выдать в состоянии? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 13:34
|
|||
---|---|---|---|
|
|||
Умолчательное направление при построении индекса по PK |
|||
#18+
shaposh> что-нибудь адекватное по теме... Хватит агриться уже. По теме - по умолчанию-то оно так, но вас же не заставляют, делайте DESC. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 13:39
|
|||
---|---|---|---|
Умолчательное направление при построении индекса по PK |
|||
#18+
shaposhпоэтому актуальность получения максимального значения по полю PK на порядок выше чем минимального Мне тоже кажется, что в большинстве (но далеко не во всех!) случаях в основном в таблице будт брать последние значения. Хотя к самим генераторам это никакого отношения не имеет! НО! Как почти всегда в данных важно не только "как чаще всег очитают", но и соотношение как часто читают/как часто пишут. Простой пример - список и массив, в список легко данные вставлять, из массива легко читать. shaposhцелесообразным по умолчанию строить DESС-индекс для поля PK. ...и вот тут засада, добавление "самого большого" значения в DESC-индекс сильно дороже, чем в ASC-индекс соотв. с добавлением "самого маленького" - наоборот http://www.sql.ru/forum/1187963/pk-indeks-ascending-ili-descending Поэтому если таблицу часто читают и намнооого реже пишут, то можно убрать PK и вместо него явно завести Unique-индекс. Но это насколько я понял на практике сродни ловле блох и очень редко будет заметно: вычитывание индекса с диска в память в любом случае намного дольше, чем поиск в памяти по "неудобному" индексу, и поэтому ускорение второго шага почти никогда ничего не даст. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 13:40
|
|||
---|---|---|---|
Умолчательное направление при построении индекса по PK |
|||
#18+
Гаджимурадов Рустамно вас же не заставляют, делайте DESC. заставляют. Сделать руками индекс для PK невозможно. http://www.sql.ru/forum/1187963/pk-indeks-ascending-ili-descending ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 13:42
|
|||
---|---|---|---|
|
|||
Умолчательное направление при построении индекса по PK |
|||
#18+
Hello, Shaposh! You wrote on 5 февраля 2016 г. 13:37:48: Shaposh> "Мимопроходящему умнику" - Ты для разнообразия, хоть что-нибудь адекватное по теме... зайко, тебе ж давно уже не 20, а жить в реальном мире так и не научился... мечтай, мечтай Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 13:43
|
|||
---|---|---|---|
|
|||
Умолчательное направление при построении индекса по PK |
|||
#18+
Да я так и делаю. Но вопрос-то не во мне Я предположил, что изменение направления построения ключа для ПК выглядит обоснованно, ибо имеет плюсы и не имеет минусов Dimitr указал, что минусы есть - чуть меньшая производительность Этого достаточно, чтобы получить заключение - действительно, данный вопрос должен решаться архитектором БД при создании PK-ключа ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 13:44
|
|||
---|---|---|---|
|
|||
Умолчательное направление при построении индекса по PK |
|||
#18+
Hello, Arioch! You wrote on 5 февраля 2016 г. 13:44:09: Arioch> заставляют. Сделать руками индекс для PK невозможно. ADD CONSTRAINT ... PRIMARY KEY ... USING DESCENDING INDEX ... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 13:45
|
|||
---|---|---|---|
Умолчательное направление при построении индекса по PK |
|||
#18+
Мимопроходящий, тебе ссылку зачем дали? прочитай в ней ВТОРОЕ сообщение, а ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 13:46
|
|||
---|---|---|---|
Умолчательное направление при построении индекса по PK |
|||
#18+
ну или я Сибирякова не понял, странно что в той теме никто этого не упомянул ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 13:48
|
|||
---|---|---|---|
|
|||
Умолчательное направление при построении индекса по PK |
|||
#18+
Hello, Arioch! You wrote on 5 февраля 2016 г. 13:47:39: Arioch> тебе ссылку зачем дали?я не хожу по ссылкам. ради тебя сделал исключение. прочитал. вывод: вася, ты лошара (с) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 13:49
|
|||
---|---|---|---|
|
|||
Умолчательное направление при построении индекса по PK |
|||
#18+
Arioch, он говорил что в USING нельзя использовать существующий индекс, но зато создаётся новый с требуемым тебе направлением. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 13:50
|
|||
---|---|---|---|
|
|||
Умолчательное направление при построении индекса по PK |
|||
#18+
Arioch> Сделать руками индекс для PK невозможно. Ты бред какой-то несёшь. Код: sql 1. 2. 3.
Ку ? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.02.2016, 13:50
|
|||
---|---|---|---|
Умолчательное направление при построении индекса по PK |
|||
#18+
YuRockДля того, чтобы получить текущую (самую актуальную, самую свежую) какую-либо сущность.Причём тут значение суррогатного ПК ? YuRockПолучить её можно (и нужно) с помощью SELECT MAX(ID)А я думал свежесть определяется датой, а актуальность - флагом состояния... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=40&tablet=1&tid=1562358]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 278ms |
total: | 432ms |
0 / 0 |