|
|
|
Оптимизмровать запрос
|
|||
|---|---|---|---|
|
#18+
Привет. Помогите оптимизировать запрос. Этот очень долго отрабатывает, можно ли написать както по другому? Суть такова что у меня есть колонка где сидит Datetime, и мне нужно выбрать из нее записи по дате, не обращая внимания на время. SELECT * FROM some_table WHERE CONVERT(varchar, datetime_field, 102) like CONVERT(varchar, some_date, 102) + '%' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2008, 11:02 |
|
||
|
Оптимизмровать запрос
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2008, 11:11 |
|
||
|
Оптимизмровать запрос
|
|||
|---|---|---|---|
|
#18+
В смысле, что за база такая? По моему cast от convert по быстродействию не особо отличаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2008, 11:16 |
|
||
|
Оптимизмровать запрос
|
|||
|---|---|---|---|
|
#18+
SELECT * FROM some_table WHERE CONVERT(varchar, datetime_field, 102) like CONVERT(varchar, some_date, 102) + '%' Оптимизацией запросов на T-SQL занимаются в форуме по MS SQL Тут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2008, 11:21 |
|
||
|
Оптимизмровать запрос
|
|||
|---|---|---|---|
|
#18+
Извиняюсь. Чисто автоматически создал тему в Фоксовской ветке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2008, 11:23 |
|
||
|
Оптимизмровать запрос
|
|||
|---|---|---|---|
|
#18+
1. просто в VFP9в хэлпе не нашел функции CONVERT() 2. cast() все же стандарт SQL-я 3. ИМХО знак равенства быстрей обрабатывается, чем Like 4. просто попробуй :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2008, 11:25 |
|
||
|
Оптимизмровать запрос
|
|||
|---|---|---|---|
|
#18+
Прошу модераторов закрыть эту тему в этой ветке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2008, 11:25 |
|
||
|
Оптимизмровать запрос
|
|||
|---|---|---|---|
|
#18+
fausttПривет. Помогите оптимизировать запрос. Этот очень долго отрабатывает, можно ли написать както по другому? Суть такова что у меня есть колонка где сидит Datetime, и мне нужно выбрать из нее записи по дате, не обращая внимания на время. SELECT * FROM some_table WHERE CONVERT(varchar, datetime_field, 102) like CONVERT(varchar, some_date, 102) + '%' Судя по команде CONVERT, это у вас MS SQL. Не думаю, что хорошо сравнивать даты, переведя их в varchar. Какой размер таблицы? Есть ли индекс по полю datetime_field ? Из нескольких вариантов я для себя выбрал сравнение через части даты: Код: plaintext 1. 2. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2008, 11:29 |
|
||
|
Оптимизмровать запрос
|
|||
|---|---|---|---|
|
#18+
Индекса нету, ищу по вьюшке. Попродую Вашт предложенные варианты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2008, 11:54 |
|
||
|
Оптимизмровать запрос
|
|||
|---|---|---|---|
|
#18+
Мое предложение :) Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2008, 12:03 |
|
||
|
Оптимизмровать запрос
|
|||
|---|---|---|---|
|
#18+
fausttИндекса нету, ищу по вьюшке. Попродую Вашт предложенные варианты. А с чего вы взяли что если вы ищете по View, то индекс не будет использоваться, если он есть. Посмотрите план запроса. С уважением, Алексей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2008, 12:49 |
|
||
|
Оптимизмровать запрос
|
|||
|---|---|---|---|
|
#18+
Aleksey-K fausttИндекса нету, ищу по вьюшке. Попродую Вашт предложенные варианты. А с чего вы взяли что если вы ищете по View, то индекс не будет использоваться, если он есть. Посмотрите план запроса. С уважением, Алексей Имел ввиду что индекса по этому полю нету. Есть какието подводные камни при добавлении индекса? У меня данная таблица много где используется, не хочу чтобу все полетело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2008, 14:46 |
|
||
|
Оптимизмровать запрос
|
|||
|---|---|---|---|
|
#18+
индекс может: увеличить скорость исполнения запроса; ни как не повлиять на его скорость; замедлить занесение данных. Все зависит от конкретной ситуации. По этому написана не одна статья. Вроде можно создать виртуальный индекс. И смотреть по плану выполнения запроса ;) Ссылку, где это все можно посмотреть я выше привел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2008, 15:09 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=35126321&tid=1588170]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 421ms |

| 0 / 0 |
