|
|
|
Найти часть значения, имея полное
|
|||
|---|---|---|---|
|
#18+
Здравствуйте Имеется колонка для хранения Штрих-кодов товара Имеется товар с весом в Штрих-коде Например в базе хранится 22017634 А поисковый параметр 2201763405121 Как имея 2201763405121 найти 22017634 Код: sql 1. где Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2016, 14:43 |
|
||
|
Найти часть значения, имея полное
|
|||
|---|---|---|---|
|
#18+
Николай Жуков, Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2016, 15:36 |
|
||
|
Найти часть значения, имея полное
|
|||
|---|---|---|---|
|
#18+
MelkijНиколай Жуков, Код: sql 1. Почему-то находит значения с пустым значением но это не смертельно Код: sql 1. но почему-то значение 2 у штрих-кода тоже отвечает условию то есть Я получаю в ответ 2-е стороки Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2016, 15:48 |
|
||
|
Найти часть значения, имея полное
|
|||
|---|---|---|---|
|
#18+
А ведь правда же отвечает условию как-то я туплю Код: sql 1. Melkij Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2016, 16:15 |
|
||
|
Найти часть значения, имея полное
|
|||
|---|---|---|---|
|
#18+
Николай Жуков, учти, что это плохой запрос в смысле производительности, никогда не будет работать быстро, может работать только на маленьких таблицах, типа 10000 строк, поскольку не и использует индекс.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2016, 07:21 |
|
||
|
Найти часть значения, имея полное
|
|||
|---|---|---|---|
|
#18+
MasterZivНиколай Жуков, учти, что это плохой запрос в смысле производительности, никогда не будет работать быстро, может работать только на маленьких таблицах, типа 10000 строк, поскольку не и использует индекс.. если будет 5.7.хх то будет использовать индекс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2016, 10:39 |
|
||
|
Найти часть значения, имея полное
|
|||
|---|---|---|---|
|
#18+
вадя, сомневаюсь очень сильно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 08:29 |
|
||
|
Найти часть значения, имея полное
|
|||
|---|---|---|---|
|
#18+
MasterZivвадя, сомневаюсь очень сильно проверено, я уже публиковал результаты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 09:46 |
|
||
|
Найти часть значения, имея полное
|
|||
|---|---|---|---|
|
#18+
вадя, те результаты я опроверг, все выложено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 04:18 |
|
||
|
Найти часть значения, имея полное
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinov, ты их не опроверг. не хочешь - не используй. у меня при переходе на 5.7.хх скорость работы с like возросла в 5-10 раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 07:00 |
|
||
|
Найти часть значения, имея полное
|
|||
|---|---|---|---|
|
#18+
хочешь не хочешь там предоставлены факты, И долгое время работы запросов у тебя на предыдущей версии было связано с поломанным индексом. Я тебе там это описал. Все данные для проверки я дал. Проверено на нескольких версиях. Ты таких полных тестов так и не сделал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 08:10 |
|
||
|
Найти часть значения, имея полное
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinovхочешь не хочешь там предоставлены факты, И долгое время работы запросов у тебя на предыдущей версии было связано с поломанным индексом. Я тебе там это описал. Все данные для проверки я дал. Проверено на нескольких версиях. Ты таких полных тестов так и не сделал. я делал тесты под свои задачи и видел результат - мне этого достаточно. поломанного индекса в моих тестах я не нашёл... в общем спор бессмыслененн. like у меня работает быстро, мне это нравится :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 09:43 |
|
||
|
Найти часть значения, имея полное
|
|||
|---|---|---|---|
|
#18+
вадяпод свои задачиа вдруг у ТСа другие "задачи"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 09:58 |
|
||
|
Найти часть значения, имея полное
|
|||
|---|---|---|---|
|
#18+
tanglirвадяпод свои задачиа вдруг у ТСа другие "задачи"? я предложил работающий вариант - если захочет , пусть проверит. в 5.7.хх много чего нового, улучшенного ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 10:44 |
|
||
|
Найти часть значения, имея полное
|
|||
|---|---|---|---|
|
#18+
вадяAlex_Ustinovхочешь не хочешь там предоставлены факты, И долгое время работы запросов у тебя на предыдущей версии было связано с поломанным индексом. Я тебе там это описал. Все данные для проверки я дал. Проверено на нескольких версиях. Ты таких полных тестов так и не сделал. я делал тесты под свои задачи и видел результат - мне этого достаточно. поломанного индекса в моих тестах я не нашёл... в общем спор бессмыслененн. like у меня работает быстро, мне это нравится :) это не спор, это факты, таблицы я генерировал случайными данными, я же тебя спрашивал в том топике - оказалось, что ты просто обновился до 5.7 на Линукс из репы, не тестируя на прежних версиях. А я их проверил, все возможные у меня стоят рядом. Я даже сейчас помню - это было воскресенье, мною потрачен почти целый рабочий день. А ты все свое глаголишь. Тесты показали что работает Лайк одинаково. Ты просто не можешь на Линукс поставить два экземпляра рядом, научись, поставь и проверь, не умеешь в Линуксе - скачай в Вайне uninstall версии и запускай демон "mysqld --console". Самое интересное, что когда у меня сломался индекс в 5.7 - работало также как и у тебя на сломаном индексе в 5.5 (или 5.6, что там ранее у тебя стояло). Я тебе явно показал, Что же это Такое - работа индекса, на примере WERE like "финд%" т.е. поиск с начала строки (выполнение почти мгновенно) и like "%финд% (~ >3 сек). 3 секунды - это отсутствие работы индекса. В плане просто как бы показывается что он используется и все. То же время выполнения было и в 5.5 (без указания использования индекса в плане). Это факты, я не считаю это спором. В ветке Оракла (там это действительно работает) попроси ребят сравнить время выполнения двух лайков - они тебе скажут, что есть на самом деле работа индекса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 20:37 |
|
||
|
Найти часть значения, имея полное
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinov, я брал таблицу 10лям строк в 5.6 и 5.7 построеную из csv и там и там и сравнивал. в 5.6 - отрабатывало 30-40 сек. в 5.7 - 4-5сек. причём в like задавал заведомо отсутствующее значение. т.е. like шерстил все 10 лямов выбор был where поле like '%xxx%' и даже where поле like '%xxx%' and поле like '%xxx%' and поле like '%xxx%' на 5.6 как я не пытался оптимизировать, править и пр. мне не удалось улучшить показатели. я сужу по своим опытам. то, что в 5.7.++ много изменено и улучшено это точно. авторучти, что это плохой запрос в смысле производительности, никогда не будет работать быстро, может работать только на маленьких таблицах, типа 10000 строк, поскольку не и использует индекс.. у меня есть пример https://github.com/JonHappy/Ex_ListBox.git реализации поиска по вводу символа. (правда в оригинале используется websocket) так вот при таком поиске в таблице из 28 000 строк задержки не чувствуется. нажатие на кнопку клавы - и отображается найденное с limit 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 21:29 |
|
||
|
Найти часть значения, имея полное
|
|||
|---|---|---|---|
|
#18+
вадя, Свои исследования я проделылвал на 2млн записей, подсчитав, что он у меня не помещается в память (на домашней ПК) и этого достаточно http://dev.mysql.com/doc/refman/5.7/en/index-btree-hash.html 9.3.8 Comparison of B-Tree and Hash Indexes Understanding the B-tree and hash data structures can help predict how different queries perform on different storage engines that use these data structures in their indexes, particularly for the MEMORY storage engine that lets you choose B-tree or hash indexes. B-Tree Index Characteristics A B-tree index can be used for column comparisons in expressions that use the =, >, >=, <, <=, or BETWEEN operators. The index also can be used for LIKE comparisons if the argument to LIKE is a constant string that does not start with a wildcard character. For example, the following SELECT statements use indexes: SELECT * FROM tbl_name WHERE key_col LIKE 'Patrick%'; SELECT * FROM tbl_name WHERE key_col LIKE 'Pat%_ck%'; In the first statement, only rows with 'Patrick' <= key_col < 'Patricl' are considered. In the second statement, only rows with 'Pat' <= key_col < 'Pau' are considered. The following SELECT statements do NOT use indexes : SELECT * FROM tbl_name WHERE key_col LIKE '%Patrick%'; SELECT * FROM tbl_name WHERE key_col LIKE other_col; там же НИЖЕ - при поисковой строке больше 3-х символов попадаем на непредсказуемый Алгоритм Turbo Boyer-Moore (а НЕ Индекс) http://dev.mysql.com/doc/refman/5.7/en/index-btree-hash.html If you use ... LIKE '%string%' and string is longer than three characters , MySQL uses the Turbo Boyer-Moore algorithm to initialize the pattern for the string and then uses this pattern to perform the search more quickly. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2016, 20:37 |
|
||
|
Найти часть значения, имея полное
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinov, а я на виртуалке (под неё 2гига) и в память помещалость все 10 лямов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2016, 20:47 |
|
||
|
Найти часть значения, имея полное
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinov, у меня мои результаты меня устраивают. проверены неоднократно. за выписки из доков спасибо. меня интересует результат, а каким способом он достигается у mysql - мне по-барабану. ещё раз : 4сек при скане всех 10 000 000 записей меня устраивает на практике (по крайней мере моей) такое количество редко встретится. на 28 000 для полной системы браузер-сервер/приложение-сервер/база-сервер/приложение-браузер задержка не видна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2016, 21:08 |
|
||
|
Найти часть значения, имея полное
|
|||
|---|---|---|---|
|
#18+
вадя, устраивает - это замечательно. Только если это одиночный запрос и устраивает - это хорошо. А если к такому запросу приджойнить еще таблицу с таким псевдо использованием индекса - это будет крах системы. Просто не надо вводить в заблуждение других, в 5-10 раз скорость в 5.7 возрасти не могла и т.д. Если так оказалось - это случайный факт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2016, 21:20 |
|
||
|
Найти часть значения, имея полное
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinov, согласен, но в сравнении с 5.7--, результат заметный.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2016, 21:46 |
|
||
|
Найти часть значения, имея полное
|
|||
|---|---|---|---|
|
#18+
не исследована причина долгого выполнения запросов в предыдущих версиях - поэтому кажется очень заметно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2016, 22:00 |
|
||
|
Найти часть значения, имея полное
|
|||
|---|---|---|---|
|
#18+
я бы добавил. знаете почему тормоза большие встечаются у систем? потому что, 10 програмистов сделали код, который выполняется по 4 секунды и их всех свой код устраивает. Не устраивает пользователя ждать 40 секунд. ЗЫ николай жуков, у мескл вашей версии есть фулстек индекс, заточенный под такие запросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2016, 04:20 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39282248&tid=1831530]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
207ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 511ms |

| 0 / 0 |
