|  01.10.2020, 13:35 | #1 | 
| Участник | Форма ЖБД. Акс2012. Быстродействие 
			
			В жбд у нас записей в десятках миллионах. Общая форма (не та что по конкретной записи, а та что в администрировании) открывается очень долго, поиск по ней соответственно тоже(. Как я понимаю проблема в том, что на DS SysDatabaseLog свойство CrossCompanyAutoQuery = true. Оно дает к селекту на гриде WHERE (PARTITION=?) ORDER BY T1.TABLE_,T1.LOGRECID,T1.CREATEDDATETIME OPTION(FAST 20). Т.е. сортировка по порядку для которого индекса нет. При вызове ЖБД на конкретной записи поиск тоже далеко не оптимальный WHERE ((PARTITION=?) AND ((TABLE_=?) AND (LOGRECID=?))). А индекс то на начинается с PARTITION, DATAAREAID Вопрос. Что можно сделать минимальными затратами, но не меняя функциональность формы. Может с индексами можно сделать чтото? | 
|  | 
|  01.10.2020, 17:33 | #2 | 
| Участник | 
			
			Порядок полей в Where не влияет. Смотрите на сортировки. Самый простой вариант - подпилить форму чтобы при открытии из меню (когда element.args().record() пустой) ставился фильтр "0" на поле LOGRECID. Тогда открываться будет быстро. А вы потом все равно свой фильтр поставите. | 
|  | 
|  02.10.2020, 06:59 | #3 | 
| Участник | 
			
			Я понимаю, что у Where влияет не порядок а наличие. Влияет порядок в индексе. Цитата: Тоже не идеальное решение. | 
|  | 
|  02.10.2020, 07:17 | #4 | 
| Участник | 
			
			В итоге поменял настройки кластерного индекса. DataAreaId добавил вручную в другом порядке: Форма жбд заработала без задержек. Пришлось подождать синхронизацию.. но прошла. | 
|  |