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

start [/forum/topic.php?fid=47&tablet=1&tid=1831409]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 356ms |

| 0 / 0 |
