|
Тяжелый запрос к связанным таблицам
|
|||
---|---|---|---|
#18+
vyegorovmaxxstorm, Для начала, посмотрите на вывод запроса (в `psql`): Код: sql 1.
Затем посмотреть на вывод такого запроса (осторожно, читает всю таблицу): Код: sql 1. 2.
Первый: relid | 16599 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Второй: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 13:35 |
|
Тяжелый запрос к связанным таблицам
|
|||
---|---|---|---|
#18+
maxxstormСравниваю с аналогичным запросом из другой бд(размер 50гб): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
9 секунд и 428234 обращенй к диску. Делаю аналочичный запрос в свою таблицу(размер бд 150гб): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Почему кост в 25 раз больше? Ведь количество записей одного порядка(11 и 15 млн соответственно) А почему мы литры (sources_article) с километрами (san_material) сравниваем?.. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 14:37 |
|
Тяжелый запрос к связанным таблицам
|
|||
---|---|---|---|
#18+
vyegorovА почему мы литры (sources_article) с километрами (san_material) сравниваем?.. Примерно одинаковые таблицы, одна и та же сущность. Просто удивила такая разница в скорости. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 14:39 |
|
Тяжелый запрос к связанным таблицам
|
|||
---|---|---|---|
#18+
maxxstormvyegorovА почему мы литры (sources_article) с километрами (san_material) сравниваем?.. Примерно одинаковые таблицы, одна и та же сущность. Просто удивила такая разница в скорости. Я бы track_io_timing в базе бы включил для начала. С очень высокой вероятностью у вас время уходит на случайный ввод-вывод на IOS. -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 14:53 |
|
Тяжелый запрос к связанным таблицам
|
|||
---|---|---|---|
#18+
Maxim BogukЯ бы track_io_timing в базе бы включил для начала. С очень высокой вероятностью у вас время уходит на случайный ввод-вывод на IOS. -- Maxim Boguk www.postgresql-consulting.ru Включил: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 15:05 |
|
Тяжелый запрос к связанным таблицам
|
|||
---|---|---|---|
#18+
maxxstormvyegorovА почему мы литры (sources_article) с километрами (san_material) сравниваем?.. Примерно одинаковые таблицы, одна и та же сущность. Просто удивила такая разница в скорости. сущность могабыть одна, а вот ширина записи может разниться на порядок. особенно -- если где--то полно дроппед колумн с данными нагенерячено упор[от]ным трудом "оптимизатора--исследователя". и кол--во записей / на блок, как следствие, может отличаццо примерно в то же число раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 15:43 |
|
Тяжелый запрос к связанным таблицам
|
|||
---|---|---|---|
#18+
maxxstormMaxim BogukЯ бы track_io_timing в базе бы включил для начала. С очень высокой вероятностью у вас время уходит на случайный ввод-вывод на IOS. -- Maxim Boguk www.postgresql-consulting.ru Включил: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Ну вот вам и ответ. Как я и говорил - время на IO уходит. Скорее всего настройки seq_page_cost/random_page_cost/effective_cache_size не соответствуют реальности имеющейся дисковой системы. А какой размер таблицы и размер индекса (san_material_pkey) у вас? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 16:20 |
|
Тяжелый запрос к связанным таблицам
|
|||
---|---|---|---|
#18+
Maxim BogukА какой размер таблицы и размер индекса (san_material_pkey) у вас? Таблица 17гб, индекс 363мб ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 16:34 |
|
Тяжелый запрос к связанным таблицам
|
|||
---|---|---|---|
#18+
Maxim BogukНу вот вам и ответ. как бы помяхше , мммм... на что именно ответ ? аффтар какбе сегодня интересовался разностью костов на , с его т.з, почти одинаковых таблах. так вы утверждаете -- что вот это вот -- ответ про причину разности костов ? мммм ? как грицца -- два дебила -- это сила. продолжайте, очень интересно простите, если кого обидел, ага ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 17:01 |
|
Тяжелый запрос к связанным таблицам
|
|||
---|---|---|---|
#18+
maxxstorm, `effective_cache_size` какой у вас? и также какое кол-во RAM-а, шареных? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 17:17 |
|
Тяжелый запрос к связанным таблицам
|
|||
---|---|---|---|
#18+
vyegorovmaxxstorm, `effective_cache_size` какой у вас? и также какое кол-во RAM-а, шареных? effective_cache_size 15GB RAM 32GB shared_buffers 16GB ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 17:18 |
|
Тяжелый запрос к связанным таблицам
|
|||
---|---|---|---|
#18+
maxxstorm, А покажите вывод таких вот команд (для сравнения): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 17:49 |
|
Тяжелый запрос к связанным таблицам
|
|||
---|---|---|---|
#18+
vyegorovmaxxstorm, А покажите вывод таких вот команд (для сравнения): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Код: sql 1. 2. 3. 4. 5. 6. 7.
Код: sql 1. 2. 3. 4. 5. 6.
Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2016, 09:01 |
|
Тяжелый запрос к связанным таблицам
|
|||
---|---|---|---|
#18+
maxxstorm, Значит база правильно IOS выбирает у вас (он быстрее даже когда часть данных с диска читается). seq scan сильно медленее у вас. А для запроса с public.sources_article - это на том же оборудовании делалось? Или это другой физический сервер? Так как сейчас мне кажется что сервер где "Сравниваю с аналогичным запросом из другой бд(размер 50гб):" он сильно другой по конфигурации. -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2016, 09:24 |
|
Тяжелый запрос к связанным таблицам
|
|||
---|---|---|---|
#18+
Maxim Bogukmaxxstorm, А для запроса с public.sources_article - это на том же оборудовании делалось? Или это другой физический сервер? то, что сек-скан сосет -- показано выше на отдизейбленном индекс скане. важно, что планер при одинаковых костах (т.е. мат моделях физ. состояния серверов), якобы на почти одинаковых табличках выбирает разные планы. видно, что буферов на "моём" кампутере больше почти на порядок (чем на эталонном). т.е. или записей на блок сильно меньше т.е. блоки пустые (что не так, если я правильно прочитал вывод), или записи (без тостов) сильно (почти на порядок) разной ширины. -- в итоге на в 1,7 раз отличающееся (по планам) число записей планируется в 20 раз больше костов (т.е., очевидно, блоков, т.к. ничего больше в последовательном чтении нет, а агрегат без дистинкта) -- какие--то такие выводы о том, почему "таблички одинаковы" а косты (абстрактные, на момент планирования) разные ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2016, 10:24 |
|
Тяжелый запрос к связанным таблицам
|
|||
---|---|---|---|
#18+
maxxstorm, Для полноты картины, приведите выхлоп тех же запросов для таблицы `sources_article`. Я подозреваю, что эта таблице будет "уже", т.е. не будет разности в 50 раз между размером таблицы и её ПК. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2016, 12:41 |
|
Тяжелый запрос к связанным таблицам
|
|||
---|---|---|---|
#18+
Вы были правы, таблица не та) Очень похожи названия, смотрю в структуру одной, а зпрос делаю из другой Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2016, 12:48 |
|
|
start [/forum/topic.php?fid=53&msg=39376995&tid=1996781]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
84ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 180ms |
0 / 0 |