Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Оптимизация запроса/таблиц
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, коллеги! Имеется следующая проблема: существует CSP, которая выбирает данные из одной таблицы при помощи DSQL-запроса со множеством условий и отображает в браузере. Таблица не сильно большая ~40тыс записей. Однако выборка при этом идет очень медленно: примерно 9-15(!) секунд даже если возвращается 0 записей. Сколько бы я не упрощал запрос, результата это не дает, так что, скорее всего, проблема в хранении данных в самом Cache. Вопрос: как повысить производительность запроса? Есть ли какие-нибудь материалы по поводу оптимизации Cache? З.Ы. Cache версия 5.0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 07:09 |
|
||
|
Оптимизация запроса/таблиц
|
|||
|---|---|---|---|
|
#18+
MasteRus, А что за данные, что за запрос? Пробовали использовать индексы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 07:11 |
|
||
|
Оптимизация запроса/таблиц
|
|||
|---|---|---|---|
|
#18+
Таблица - 12 полей: несколько текстовых полей, несколько экземпляров других классов, один экземпляр встраемого класса, дата. Индексы проставлены на одно поле встраемого класса класса и на дате. Запрос собирается динамически, в зависимости от условий, которые выбирает пользователь (тип сортировки, период по дате, поиск некоторых значений в полях и т.д.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 07:46 |
|
||
|
Оптимизация запроса/таблиц
|
|||
|---|---|---|---|
|
#18+
MasteRusвыбирает пользователь ( тип сортировки ...) Возможно все дело в этом... Как вариант приведите примеры "самых долгих" запросов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 08:37 |
|
||
|
Оптимизация запроса/таблиц
|
|||
|---|---|---|---|
|
#18+
krvsaMasteRusвыбирает пользователь ( тип сортировки ...) Возможно все дело в этом... Как вариант приведите примеры "самых долгих" запросов... Нет, не в этом дело. Дело в том, что и на запрос типа Select ID, TextField1 from TableName и на сложный запрос с 8 полями и кучей условий все равно тратится одно и тоже время (без учета вывода, конечно же) 9-15 секунд+время на отображение браузером. Я все-таки склонен к тому, что на это влияет какие-то особенности хранения данных в Cache. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 08:54 |
|
||
|
Оптимизация запроса/таблиц
|
|||
|---|---|---|---|
|
#18+
Привет. > Select ID, > TextField1 from TableName Именно таки на этот запрос по таблице в 40 тыс записей 9 секунд? Вы использовали какую-то свою схему хранения? Памяти под буфера Каше сколько выделено? =Сергей Шутов ООО Димас, Хабаровск Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 08:59 |
|
||
|
Оптимизация запроса/таблиц
|
|||
|---|---|---|---|
|
#18+
Че-то запредельные какие-то цифры, 9 секунд на 40тыс записей очень много при любом раскладе, даже без индексов и на слабой машине. У вас где-то там внутри неслабое извращение типа вычисляемого поля по подтаблице или что-нибудь в этом роде. Я прямо даже не знаю, что еще может быть, слабый диск, плохие индексы или схема хранения. Но такую таблицу каше тупо поднимет в память и отсортирует без всяких индексов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 09:09 |
|
||
|
Оптимизация запроса/таблиц
|
|||
|---|---|---|---|
|
#18+
Блок А.Н., Чтобы утверждать, что именно время выполнения запроса велико, необходимо проверить тот же запрос в терминале SQL, или в отдельной программе, там легко промониторить время начала и время окончания запроса. Может Вам добавляет время организация вывода данных на страницу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 10:27 |
|
||
|
Оптимизация запроса/таблиц
|
|||
|---|---|---|---|
|
#18+
AlexKB, проблема не у меня :-) Кстати да, у HTMLя есть проблемы с выводом больших таблиц, там надо серьезно подходить к стилям, формаитированию и т.д. Если теги не закрыты какие или неверная разметка вообще - то ИЕ покажет нормально, но будет долго думать. Также для больших таблиц очень желательно расставлять ширину столбцов в заголовке, иначе при выводе каждой строки оно будет пытаться пересчитать это заново. Но типикстартер говорит "без учета вывода", и я верю (зря?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 10:32 |
|
||
|
Оптимизация запроса/таблиц
|
|||
|---|---|---|---|
|
#18+
Блок А.Н., Извиняюсь, стрелка перевелась. Я хотел сказать, что поскольку DSQL, то может дело в разборе ResultSet, туда ведь можно такого наворотить. На месте автора я бы задавал вопрос так, если бы у меня были сомнения в способе хранения: --я попробовал выполнить простой запрос в терминале SQL - время *** --я попробовал выполнить тот же запрос в программе средствами DSQL - время *** --я попробовал выполнить тот же запрос в программе средствами ESQL - время *** Отсюда уменя вывод ************************ Да извинит меня Автор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 10:55 |
|
||
|
Оптимизация запроса/таблиц
|
|||
|---|---|---|---|
|
#18+
logist > Select ID, > TextField1 from TableName Именно таки на этот запрос по таблице в 40 тыс записей 9 секунд? Вы использовали какую-то свою схему хранения? Это через CSP с помощью DSQL-запроса. Через SQL-manager 6,5 сек. Что имеется ввиду под схемой хранения? logist Памяти под буфера Каше сколько выделено? Память для кэша базы данных = 16мб Память для кэша программы = 8мб Память для 2кб кэша = 0 Память для 8кб кэша = 16 Блок А.Н. Кстати да, у HTMLя есть проблемы с выводом больших таблиц, там надо серьезно подходить к стилям, формаитированию и т.д. Если теги не закрыты какие или неверная разметка вообще - то ИЕ покажет нормально, но будет долго думать. Нет, теги все закрыты. Возможно проблема в обработке ResultSet? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 11:06 |
|
||
|
Оптимизация запроса/таблиц
|
|||
|---|---|---|---|
|
#18+
Памяти для кэша данных слишком мало, поставьте хотя бы пару сотен мегабайт для начала Возможно больше ничего и не понадобится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 12:38 |
|
||
|
Оптимизация запроса/таблиц
|
|||
|---|---|---|---|
|
#18+
MasteRusЗдравствуйте, коллеги! Имеется следующая проблема: существует CSP, которая выбирает данные из одной таблицы при помощи DSQL-запроса со множеством условий и отображает в браузере. Таблица не сильно большая ~40тыс записей. Однако выборка при этом идет очень медленно: примерно 9-15(!) секунд даже если возвращается 0 записей. Сколько бы я не упрощал запрос, результата это не дает, так что, скорее всего, проблема в хранении данных в самом Cache. Вопрос: как повысить производительность запроса? Есть ли какие-нибудь материалы по поводу оптимизации Cache? З.Ы. Cache версия 5.0. А что выдает команда W $ZV в терминале? У Вас однопользовательская версия или многопользовательская? Почему Вы используете такую старую версию Cache'? Вадим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 16:32 |
|
||
|
Оптимизация запроса/таблиц
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.Памяти для кэша данных слишком мало, поставьте хотя бы пару сотен мегабайт для начала. Возможно больше ничего и не понадобится. Да, спасибо, вы оказались правы: кроме увеличения размеров памяти больше ничего и не понадобилось! Ещё раз Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2009, 05:35 |
|
||
|
Оптимизация запроса/таблиц
|
|||
|---|---|---|---|
|
#18+
MasteRus , т.е. все ускорилось? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2009, 08:33 |
|
||
|
Оптимизация запроса/таблиц
|
|||
|---|---|---|---|
|
#18+
Да, теперь первый запрос после запуска выполняется долго, зато все последующие выполняются практически моментально... обидно, что сам не догадался попробовать. Кстати, возник вопрос: в Cache кэш БД делиться на 2 вида(на 2к и на 8к). Какой из них за что отвечает и как влияет на производительность? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2009, 08:49 |
|
||
|
Оптимизация запроса/таблиц
|
|||
|---|---|---|---|
|
#18+
Все-таки странновато, что даже первый запрос выполняется долго (ели это те же 9 секунд). Насчет кеша 2 и 8 кб, вроде базы бывают с 2х и 8ми кб блоками (это можно посмотреть в свойствах базы), для них раздельные кэши. 2 кб блоки используются только для совместимости, даже каше 4(старее не использовал) уже использует 8 кб. Так что смело ставьте кэш 2к=0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2009, 10:40 |
|
||
|
Оптимизация запроса/таблиц
|
|||
|---|---|---|---|
|
#18+
На мой взгляд, вполне логично - при первом запросе данные заносятся в оперативку, следующие запросы потом уже из неё черпают данные. Но это уже не критично, сервак нечасто перезагружаем. И ещё раз спасибо за краткий ликбез! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2009, 12:28 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=35795296&tid=1558591]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
150ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 471ms |

| 0 / 0 |
