|
|
|
Индексы в кавычках
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Есть два запроса, они отличаются лишь тем, что поиск происходит по индексу в одном запросе он передается как строка, в другом он передается как число. Код: sql 1. 2. 3. 4. запрос занял 0.0014 сек. Код: sql 1. 2. 3. 4. запрос занял 5.2941 сек. Почему MySql так долго конвертирует строку в число? Может в настройках MySql есть какой-то параметр, который отвечает за конвертацию значений? Версия сервера: 5.5.51-log ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2016, 10:07 |
|
||
|
Индексы в кавычках
|
|||
|---|---|---|---|
|
#18+
pr0n1xПочему MySql так долго конвертирует строку в число?С чего ты решил, что он конвертирует строки в числа? Вернее, что проблема именно в этом? Условие отбора задано литералом. Посему, во-первых, из-за несоответствия типов из плана мог выпасть индекс, во-вторых, при выполнении вполне могло выполняться преобразование типа поля, а не типа литерального значения. pr0n1xМожет в настройках MySql есть какой-то параметр, который отвечает за конвертацию значений?Такая настройка должна быть в мозгах - настройка на строгую типизацию. А если лень сбивает эту настройку, и программист начинает надеяться на автоконвертацию, то когда-нить неминуемо утыкается в осознание, что алгоритмы не настолько совершенны, чтобы избежать потенциальной задницы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2016, 11:02 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=92&tid=1831409]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 391ms |

| 0 / 0 |
