Здравствуйте, Maniacal, Вы писали:
M>Здравствуйте, tnikolai, Вы писали:
M>>>Oracle тоже в середине 2000-х не умел, думаю и сейчас вряд ли умеет. PostgreSQL тоже сейчас не умеет. Сделай на эти поля индексы и будет тебе счастье.
T>>Индексы не помогают.
M>Ещё как помогают, но для таких запросов они должны быть простыми, по одному полю.
M>Вот на Postgre без индексов твой пример выполняется за 90 секунд и план выполнения следующий:
M>Image: Plan1.png
M>А после создания индексов
M>CREATE INDEX tx1$x1 ON tx1(x1);
M>CREATE INDEX tx1$x2 ON tx1(x2);
M>Запрос выполняется одну секунду и план выполнения такой:
M>Image: Plan2.png
Так это Postgre, а на mssql не берёт индексы, на каждую строку tx1 перебирает все строки tx1 снова и это никак не оптимизируемо