Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
что выгоднее с точки зрения быстродейсвия поиска данных - бить индексы или бить таблицы?
|
|||
|---|---|---|---|
|
#18+
допустим есть таблица table с полями key и secondary_key возможных значений поля secondary_key на несколько порядков меньше чем значений key требуется увеличить скорость запроса вида Код: plaintext 1. что лучше, разбить таблицу партиционированием в зависимости от значения secondary_key на много маленьких таблиц, или оставить одну таблицу но создать много индексов по типу: Код: plaintext 1. сложность заключается в том, что на эту таблицу ссылается foreign key, и если разбить таблицу, то foreign key придется удалить, что не есть хорошо, если бить индексы, то такой проблемы нет, но тогда встает вопрос - даст ли разбиение индекса схожий прирост производительности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2007, 12:49 |
|
||
|
что выгоднее с точки зрения быстродейсвия поиска данных - бить индексы или бить таблицы?
|
|||
|---|---|---|---|
|
#18+
untitledвозможных значений поля secondary_key на несколько порядков меньше чем значений key where key = X and secondary_key=Yоставить одну таблицу, создать индекс (key,secondary_key) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2007, 13:11 |
|
||
|
что выгоднее с точки зрения быстродейсвия поиска данных - бить индексы или бить таблицы?
|
|||
|---|---|---|---|
|
#18+
LeXa NalBatоставить одну таблицу, создать индекс (key,secondary_key) это конечно же было сделано в первую очередь, но этого оказалось недостаточно при текущем размере таблицы с таким индексом поиск происходит ~1000ms, а это чертовски долго хотелось добиться хотя бы ~100 ms ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2007, 13:19 |
|
||
|
что выгоднее с точки зрения быстродейсвия поиска данных - бить индексы или бить таблицы?
|
|||
|---|---|---|---|
|
#18+
untitled LeXa NalBatоставить одну таблицу, создать индекс (key,secondary_key) это конечно же было сделано в первую очередь, но этого оказалось недостаточно при текущем размере таблицы с таким индексом поиск происходит ~1000ms, а это чертовски долго хотелось добиться хотя бы ~100 msесли теория не врет - время индексного поиска растет логарифмически. Набрать больше порядка на логарифме - вещь довольно сильная. Правда, есть вероятность что 1. у вас на деле не ключевой индекс, и вы выбираете кучу записей. И основные затраты - на чтение этой кучи записей. 2. что (в силу особливости индекса в пг) у вас не слишком актуален индекс. и вам надо чаще делать реиндекс. 3. вот насчет времени на чтение собственно индекса (и какую его порцию нужно читать на поиск еденичной записи) - сообразить не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2007, 13:32 |
|
||
|
что выгоднее с точки зрения быстродейсвия поиска данных - бить индексы или бить таблицы?
|
|||
|---|---|---|---|
|
#18+
untitledпри текущем размере таблицы с таким индексом поиск происходит ~1000msпокажите explain analyze ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2007, 13:58 |
|
||
|
что выгоднее с точки зрения быстродейсвия поиска данных - бить индексы или бить таблицы?
|
|||
|---|---|---|---|
|
#18+
assa Правда, есть вероятность что 1. у вас на деле не ключевой индекс, и вы выбираете кучу записей. И основные затраты - на чтение этой кучи записей. я забыл сказать. да, это не ключевой индекс. но результат в ~1000ms - это для запроса, возвращающего одно значение LeXa NalBatпокажите explain analyze например такой Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. либо такой Код: plaintext 1. 2. 3. 4. 5. 6. 7. когда записей много все совсем печально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2007, 17:48 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=287&tid=2005066]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 310ms |

| 0 / 0 |
