powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / кавычки для интов
4 сообщений из 4, страница 1 из 1
кавычки для интов
    #39043999
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
create table t (id int);



существует ли какая-то разница в запросах с кавычками и без?

Код: sql
1.
select * from where id = 1;



vs

Код: sql
1.
select * from where id = '1';
...
Рейтинг: 0 / 0
кавычки для интов
    #39044009
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приведение типов на этапе компиляции запроса.

В построенном плане обработки никакой разницы уже нет.
...
Рейтинг: 0 / 0
кавычки для интов
    #39044014
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lumix,

Разница существует. Иногда оптимизатор ошибается и приведение типов делает не с той стороны равенства. Т.е. в приведенном примере он может начать преобразовывать id к строке. В таких случаях не могут быть использованы индексы, в результате чего резко возрастает время работы. А иногда еще и результат может отличаться.
...
Рейтинг: 0 / 0
кавычки для интов
    #39044075
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft, спасибо!! очень ценная информация, потому что у нас в системах очень много где используются именно кавычки в отношении интовых айдишников (ну которые primary), но это не результат безалаберности, а результат работы шаблонизатора sql запросов. Я подумаю, что можно сделать, чтобы убрать кавычки там, где они 100% не нужны.

Поскольку через шаблонизатор кавычки трудно стирать, ведь они вшиты в строковый шаблон, то как вариант можно в случае интов к строке прибавлять ноль и тогда будет гарантированный кастинг к инту, то есть из шаблонизатора запросы будут выходить типа таких

Код: sql
1.
select * from t where id = '3412' + 0
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / кавычки для интов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]