|
|
|
Индексы в кавычках
|
|||
|---|---|---|---|
|
#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&msg=39308898&tid=1831409]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 306ms |

| 0 / 0 |
