|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
Всем привет, http://ibase.ru/45-ways-to-improve-firebird-performance-russian With best regards, Alexey Kovyazin www.ibsurgeon.com www.ibase.ru/techsupp.htm ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 09:42 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
Alexey Kovyazin, опечатка: пропущено IN 25. Отключайте индексы в случае IN cо списком константамЕсли вы используете конструкцию WHERE fieldX IN (Contant1, Constant2, Constan3,… ConstantN), и есть индекс по fieldX, Firebird будет использовать индекс столько раз, сколько констант упомянуто в списке IN. Отключите использование индекса превращением fieldX в выражение fieldX+0: WHERE fieldX+0 IN (Contant1, Constant2, Constan3,… ConstantN) (для строковых переменных – fieldX||’’). ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 10:46 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
Поясните, пожалуйста, этот финт: 30. Используйте производные таблицыИспользуйте производные таблицы (derived tables) для исключения ненужных сортировок: например, вместо Код: sql 1. 2. 3.
Используйте такой вариант: Код: sql 1. 2. 3.
Имеется в виду, что сортировка "узкого" курсора выполнится с меньшими затратами ресурсов? Т.е., вот этот вариант будет еще лучше: Код: sql 1. 2. 3.
? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 11:00 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
20 штПоясните, пожалуйста, этот финт: Сам же пояснил. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 11:01 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
Вопрос такой: в таблице есть числовые поля и поля внешние ключи. По последним, естественно, созданы индексы. Записей много -- свыше 10 млн. Апдейтом меняются ТОЛЬКО числовые поля. В таком случае имеет смысл отключать индексы для ускорения процесса или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 11:05 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
Там опечатка - имелось в виду Field2 в Order BY и в SELECT Но вообще да, можно и без дополнительно Field в селекте. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 11:06 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
sysdba22Вопрос такой: в таблице есть числовые поля и поля внешние ключи. По последним, естественно, созданы индексы. Записей много -- свыше 10 млн. Апдейтом меняются ТОЛЬКО числовые поля. В таком случае имеет смысл отключать индексы для ускорения процесса или нет? Нет смысла. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 11:07 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 12:06 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
Док, +1. Подсветка, форматирование. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 12:07 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
Какой... чудак... придумал номер 28? Дайте ему по башке чтобы так больше никогда не делал. Номер 43 (в свете 34) следует переформулировать как "никогда не используйте таблицы мониторинга". На номер 44 у вас, конечно же, есть экспериментальное подтверждение?.. И где способ номер 0: "помойте руки тому заскорузлому пареньку, что колбу держит повышайте квалификацию DBA и разработчика приложения всеми доступными методами"? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 12:27 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
Hello, Alexey Kovyazin! You wrote on 12 мая 2016 г. 12:30:49: Alexey Kovyazin45-ways-to-improve-firebird-performance-russianа кто автор? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 12:31 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, да ладно. 1. Таблицы мониторинга в тройке сильно шустрее 2. Совет из серии не тыкайте таблицы мониторинга куда попало, например в табличные триггеры. Про совсем речь конечно не идёт. Это полезный инструмент, когда им правильно пользуешься. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 12:34 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
это я про "никогда не используйте таблицы мониторинга". ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 12:35 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
Кстати, про №16 А нет планов научить сервер самостоятельно отключать/включать индексы на insert-select и merge ? Или он уже умеет? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 13:48 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
TonalКстати, про №16 А нет планов научить сервер самостоятельно отключать/включать индексы на insert-select и merge ? Или он уже умеет? Поясни, пожалуйста. Непосредственно перед Insert выключать, сразу после - включать? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 13:54 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
Tonal, нет. Все эти игры с отключением индексов работают только при монопольном доступе. Тем более что для PK, FK и UNIQUE ты их отключить не сможешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 13:57 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
Hello, Симонов Денис! You wrote on 12 мая 2016 г. 14:03:33: Симонов Денис> для PK, FK и UNIQUE ты их отключить не сможешь.можно. но не нужно. а вообще все эти советы ни о чём.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 14:04 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
В номере 28 действительно ошибка из серии потеряного NOT - фетч имеет смысл ограничивать только если НЕ Order by /group by Остальные замечания - брюзжание утомленных чешским пивом и питерским климатом мужчин :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 17:00 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
Alexey KovyazinВ номере 28 действительно ошибка из серии потеряного NOT - фетч имеет смысл ограничивать только если НЕ Order by /group by Даже в этом случае его ограничивать не имеет никакого смысла. На быстродействии Firebird оно не скажется никак. От слова "совсем". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 17:02 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
ну, в общем автор статьи обозначился. а отчего не подписался то? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 17:08 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovНа номер 44 у вас, конечно же, есть экспериментальное подтверждение?..Есть. Да ты и сам можешь его проверить. В известном тебе тесте запусти молотьбу, предварительно выставив в oltpNN_config-файле no_auto_undo = 0 по итогам пробегов ~ августа 2014 Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 17:14 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
Alexey Kovyazin, на счёт 28. Как раз наоборот. FIRST/SKIP, FETCH/OFFSET, ROWS без ORDER BY вернёт случайный набор записей. Ну с GROUP BY он обычно не подразумевается. В Firebird 3 FIRST/SKIP, FETCH/OFFSET, ROWS меняет стратегию оптимизатора на FIRST ROWS, так что он может поменять план. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 17:15 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
Alexey KovyazinВ номере 28 действительно ошибка из серии потеряного NOT - фетч имеет смысл ограничивать только если НЕ Order by /group by ... И не забываем про 30! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 17:16 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
ТаблоидЕсть. Да ты и сам можешь его проверить. При всём уважении к твоему тесту... Ты же понимаешь, что каждая откаченная транзакция с этим флагом автоматически тормозит счётчик ОAТ и неизбежно приводит к запуску свипа?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 17:18 |
|
45 способов улучшить производительность Firebird
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, возможно, что я видел положительный эффект именно от того, что свип... ни разу так и не стартовал. Потому что все транзакции в этом тесте стартуют как snapshot, и среди них постоянно есть несколько сильно застрявших. Свип стартует в итоге почти всегда только под занавес - когда молотилки отваливаются ввиду истечения таймаута. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2016, 17:25 |
|
|
start [/forum/topic.php?fid=40&msg=39234204&tid=1560921]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
157ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 284ms |
0 / 0 |