|
|
|
Как выбрать записи из mySQL значение поля которых содержится в начале строки?
|
|||
|---|---|---|---|
|
#18+
Есть таблица в которой поле "field" равно: abc def ghk abcdef defghk Есть строка, например, "abcdefghk" Нужно составить запрос который выберет следующие записи: abc abcdef то есть котрые совпадают с началом строки "abcdefghk" Если в общем, то значение поля должно содержаться в начале строки. Значения полей и строка могут быть любыми. Здесь я лишь привёл абстрактный пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2017, 10:04 |
|
||
|
Как выбрать записи из mySQL значение поля которых содержится в начале строки?
|
|||
|---|---|---|---|
|
#18+
axsmak, Код: sql 1. fullscan таблички. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2017, 11:01 |
|
||
|
Как выбрать записи из mySQL значение поля которых содержится в начале строки?
|
|||
|---|---|---|---|
|
#18+
Melkij, я придумал такой вариант пока ждал ответа - Код: sql 1. Какой вариант будет оптимальнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2017, 06:15 |
|
||
|
Как выбрать записи из mySQL значение поля которых содержится в начале строки?
|
|||
|---|---|---|---|
|
#18+
axsmak, Равнозначны, т.к. тоже не может использовать индекс. Если есть гарантированная минимальная длина префикса - тогда можно по индексу искать по этому префиксу. Например, если предметная область требует, чтобы field был минимум в 2 символа, тогда запрос Код: sql 1. Вполне имеет право на жизнь как грубый индексный фильтр с recheck'ом. Проверить только, что в таком виде он реально может использовать индекс или же надо выносить выполнение left на приложение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2017, 19:44 |
|
||
|
Как выбрать записи из mySQL значение поля которых содержится в начале строки?
|
|||
|---|---|---|---|
|
#18+
Melkijfullscan таблички.Насчёт фуллскана при шаблоне по префиксу я бы поостерёгся вот так сразу... по крайней мере сперва бы узнал версию сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2017, 19:56 |
|
||
|
Как выбрать записи из mySQL значение поля которых содержится в начале строки?
|
|||
|---|---|---|---|
|
#18+
Akina, MariaDB 10.1.22 на Debian 9.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2017, 07:27 |
|
||
|
Как выбрать записи из mySQL значение поля которых содержится в начале строки?
|
|||
|---|---|---|---|
|
#18+
mysql 5.7.x использует для like индексы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2017, 07:39 |
|
||
|
Как выбрать записи из mySQL значение поля которых содержится в начале строки?
|
|||
|---|---|---|---|
|
#18+
axsmak , а теперь поройте документацию на предмет использования индекса при отборе по LIKE по префиксу. Ну или просто посмотрите EXPLAIN на простейшем модельном запросе. Если используется - то однозначно LIKE, если нет, то в общем пофиг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2017, 07:46 |
|
||
|
Как выбрать записи из mySQL значение поля которых содержится в начале строки?
|
|||
|---|---|---|---|
|
#18+
Akina, а каким образом, если шаблон поиска зависит от самой строки таблицы? Планировщик догадывается, что есть минимальное общее вхождение и переписывает запрос подобно моему последнему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2017, 08:26 |
|
||
|
Как выбрать записи из mySQL значение поля которых содержится в начале строки?
|
|||
|---|---|---|---|
|
#18+
Melkij , пардон, невнимательно посмотрел на задачу. Но тогда бы я вообще переписАл запрос в вариант Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2017, 09:55 |
|
||
|
|

start [/forum/search_topic.php?author=Android+Max&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
173ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 437ms |
| total: | 748ms |

| 0 / 0 |
