Size: a a a

2020 October 27

R

RusikOk in MySQL
тогда нужно будет 2 условия писать
источник

IZ

Ilia Zviagin in MySQL
RusikOk
добрый вечер! подскажите как поступить...  храню время в одном поле типа DATETIME но в каждом запросе применяю что-то вроди этого DATE_FORMAT(d.dateTime, '%Y-%m-%d') есть ли смысл писать дату/время в разные поля, чтобы уменьшить время выполнения запроса?
DATE_FORMAT(d.dateTime, '%Y-%m-%d') -- "неиндексируемое " условие.

А мой вариант -- "индексируемый".

Суть  в том, что нельзя писать выражения над полями таблицы в поиске.

Выражения в индексах не бывают. Бывают только поля. Если ты пишешь выражение, индекс не применим для поиска по этому условию

(ну или в поздних версиях можно выражения, но тогда индекс надо тоже по выражению строить)
источник

IZ

Ilia Zviagin in MySQL
RusikOk
тогда нужно будет 2 условия писать
Пиши два, BETWEEN
источник

IZ

Ilia Zviagin in MySQL
Ilia Zviagin
понятно.

Это
WHERE  DATE_FORMAT(d.dateTime, '%Y-%m-%d') =   "2020-10-27"

надо писать как

WHERE  d.dateTime >=   "2020-10-27"
WHERE  d.dateTime BETWEEN  "2020-10-27" and  "2020-10-28"
источник

R

RusikOk in MySQL
ок
источник

R

RusikOk in MySQL
в этом может быть проблема. запрос 47с выполняется. сейчас попробую
источник

R

RusikOk in MySQL
спасибо
источник

IZ

Ilia Zviagin in MySQL
Точнее, от 28го числа надо вычесть ещё одну милисекунду, потому что BETWEEN нестрогий с обоих концов.
Ну или не BETWEEN а явное выражение на диапазон
источник

IZ

Ilia Zviagin in MySQL
RusikOk
в этом может быть проблема. запрос 47с выполняется. сейчас попробую
в чём проблема ? я не понял
источник

R

RusikOk in MySQL
да у меня там еще 3 подзапроса в которых еще по одному подзапросу. если дата не индексировалась, то от сюда тормоза
источник

R

RusikOk in MySQL
ну и подзапросов много)
источник

IZ

Ilia Zviagin in MySQL
RusikOk
ну и подзапросов много)
CTE лечат, если есть возможность
источник

R

RusikOk in MySQL
а что это?
источник

IZ

Ilia Zviagin in MySQL
Common Table Expressions , так называемые встроенные VIEW. Они же WITH
источник

R

RusikOk in MySQL
да уж.... давно я не писал запросы. отстал... зато больше подался в электронику. тоже интересно)
источник
2020 October 28

✨Basic_Instinct✨ in MySQL
всем доброй ночи!  Нужно написать процедуру, которая брала  SELECT поле в одной таблице c данными вида к примеру value1 = '1', value2 = 2, и подставляла и выполняла запрос INSERT в качестве VALUE полученные данные
источник

✨Basic_Instinct✨ in MySQL
это по силам бд?
источник

АГ

Алексей Гевондян... in MySQL
insert into some_table(col1, ..., coln) select  ... /* что угодно */
источник

DE

Denis Efremov in MySQL
Вы по процедурному вопросу?
источник

✨Basic_Instinct✨ in MySQL
да
источник