Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
вот например ищем паспорт на лету, по мере ввода 4506 это серия, 123456 это № ввели 45, ищет LIKE '45%', но `passSer` это SMALLINT, а `passNum` это MEDIUMINT, т.е. INTы а '45%' это, я так понимаю, STRING т.е. это разные типы строк, поэтому облом... короче в example не работают кеи в таком варианте если писать =4506, то работают а без кеев притормаживает уже... и что делать? в стринги серию и № перегонять? и с телефонами также?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 18:56 |
|
||
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
*не example, а explain ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 19:16 |
|
||
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
tip78ввели 45, ищет LIKE '45%', но `passSer` это SMALLINT, а `passNum` это MEDIUMINT, т.е. INTы а '45%' это, я так понимаю, STRING т.е. это разные типы строк, поэтому облом...Бред. Like работает ТОЛЬКО со строковым типом данных, любые другие приводятся к нему перед выполнением оператора: Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 19:55 |
|
||
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
ага... так, я сейчас заметил, что без ORDER BY оно таки летает... в общем такой вот запрос Код: sql 1. 2. 3. 4. это поиск по мере ввода по паспорту и по телефону он работает за 0.02 а если ему добавить ORDER BY `name3` (по фамилии), то 0.40 индекс на `name3` есть как и на все поля в LIKE (причём там и смежные индексы есть, это я потом добавил одиночные) с чем это связано? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 20:44 |
|
||
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
Показывайте EXPLAIN. Только цитатой с консоли в тегах кода, а не скриншотом... Но вообще OR во WHERE следует избегать. Лучше переделайте на UNION. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 21:38 |
|
||
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
+----+-------------+-------+------------+-------+---------------+----------+---------+--------------------+------+----------+-------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+-------+------------+-------+---------------+----------+---------+--------------------+------+----------+-------------+ | 1 | SIMPLE | t1 | NULL | index | pass,passSer | name3 | 767 | NULL | 18 | 100.00 | NULL | | 1 | SIMPLE | t2 | NULL | ref | clientID | clientID | 3 | table.t1.id | 1 | 100.00 | Using where | +----+-------------+-------+------------+-------+---------------+----------+---------+--------------------+------+----------+-------------+ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 21:46 |
|
||
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
Ну а DDL где? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 22:09 |
|
||
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
это чтоли? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. warning, кстати, хз о чём... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 22:18 |
|
||
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
tip78 Код: sql 1. Это что за мутант? У вас `table` - это схема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 22:43 |
|
||
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
miksofttip78 Код: sql 1. Это что за мутант? У вас `table` - это схема? нет, название там нормальное ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 22:47 |
|
||
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
tip78miksoftпропущено... Это что за мутант? У вас `table` - это схема? нет, название там нормальноеа что в этой конструкции означает `table` ? И зачем оно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 22:49 |
|
||
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
miksofttip78пропущено... нет, название там нормальноеа что в этой конструкции означает `table` ? И зачем оно? ну там название таблицы было, я его поменял просто ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 22:54 |
|
||
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
tip78miksoftпропущено... а что в этой конструкции означает `table` ? И зачем оно? ну там название таблицы было, я его поменял простоТогда почему конструкция состоит из трех частей, а не двух? Что-то напутали при замене? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 22:55 |
|
||
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
не, так explain выдаёт, я только название поменял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2017, 23:21 |
|
||
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
AkinaПоказывайте EXPLAIN. Только цитатой с консоли в тегах кода, а не скриншотом... Но вообще OR во WHERE следует избегать. Лучше переделайте на UNION. немного не понял, а что должно получиться без WHERE ? будет 2 селекта, 1 с джойном, но там же в одном всё-равно будет WHERE passSer LIKE '45%', а в другом WHERE code LIKE '45%', не? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2017, 00:00 |
|
||
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
вот так он работает за 0.09 Код: sql 1. 2. 3. 4. 5. я всё правильно сделал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2017, 00:06 |
|
||
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
miksofttip78пропущено... ну там название таблицы было, я его поменял простоТогда почему конструкция состоит из трех частей, а не двух? Что-то напутали при замене? извините, спать хочу, там конечно не название таблицы, а название БД было ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2017, 00:07 |
|
||
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
tip78я всё правильно сделал? Ну да, это больше похоже на правду. Есть только одна мелочь - если каждый из подзапросов вернёт одну и ту же запись, и она попадёт в лимит - отобразится дубликат. А для исправления ORDER BY и LIMIT надо ещё добавить в каждый из подзапросов, и заменить UNION ALL на UNION DISTINCT... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2017, 07:37 |
|
||
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
tip78warning, кстати, хз о чём... В варнинг пишется переписанный оптимизатором текст запроса. Нормализованный по именам идентификаторов, поэтому обращения к таблицам/полям развёрнуты в полные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2017, 09:24 |
|
||
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
Akinatip78я всё правильно сделал? Ну да, это больше похоже на правду. Есть только одна мелочь - если каждый из подзапросов вернёт одну и ту же запись, и она попадёт в лимит - отобразится дубликат. А для исправления ORDER BY и LIMIT надо ещё добавить в каждый из подзапросов, и заменить UNION ALL на UNION DISTINCT... а когда много столбов выводить и их надо в каждый SELECT писать одни и те же, это можно как-то оптимизировать, в переменную их загнать, например? Melkijtip78warning, кстати, хз о чём... В варнинг пишется переписанный оптимизатором текст запроса. Нормализованный по именам идентификаторов, поэтому обращения к таблицам/полям развёрнуты в полные. ясно, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2017, 10:09 |
|
||
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
кстати, запрос так то не сказать, чтобы лучше стал... там rows вырос, стало 15x42466 = 636990, а было 39358 (кол-во клиентов) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2017, 10:14 |
|
||
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2017, 10:16 |
|
||
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
и кстати, ZEROFILL не работает в UNION... если номер телефона такой: 736766, то должен выводить 0736766, ан нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2017, 10:23 |
|
||
|
а как быть с LIKE по цифре ? Не работают индексы
|
|||
|---|---|---|---|
|
#18+
приходится делать CONVERT(t2.num,CHAR) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2017, 10:25 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39464194&tid=1830635]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 145ms |

| 0 / 0 |
