MySql, где предложение не удается найти

0

На моем MySql Workbench я делаю простой поисковый запрос:

SELECT * 
FROM test.table 
WHERE originalFilePath = 'C:\inetpub\wwwroot\documentScanning\output\REQMAN/2018-09-06_10.03.53/TS18-6289.pdf';

SELECT * 
FROM test.table 
WHERE originalFilePath like '%C:\inetpub\wwwroot\documentScanning\output\REQMAN/2018-09-06_10.03.53/TS18-6289.pdf%';

SELECT * 
FROM test.table 
WHERE originalFilePath like '% C:\inetpub\wwwroot\documentScanning\output\REQMAN/2018-09-06_10.03.53/TS18-6289.pdf %';

Но каждый запрос всегда пуст. Из дальнейшего тестирования кажется, что по какой-то причине запрос не любит "C:\inetpub\wwwroot\documentScanning\output \", что является нечетным, значение поиска представляет собой прямую копию и вставляет ее из самой таблицы. Я получил этот запрос:

SELECT * 
FROM test.table 
WHERE originalFilePath like '%\REQMAN/2018-09-06_10.03.53/TS18-6289.pdf';

Однако этот запрос будет использоваться в сценарии, который запускается каждые 2 минуты, и база данных невероятно велика, поэтому я бы предпочел не использовать вышеприведенный запрос, а скорее прямой поиск (равный), так как мне сказали, что использование подстановочного поиска может замедлить работу. Есть ли способ сделать это? Может кто-нибудь объяснить, почему ему не нравится "C:\inetpub\wwwroot\documentScanning\output \" в поиске?

  • 0
    Проблема с использованием подстановочного поиска заключается в том, что вы не сможете использовать какие-либо индексы в поле, если в начале у вас есть подстановочный знак. LIKE 'A% может использовать индекс, но LIKE '%A' не может.
Теги:

1 ответ

0
Лучший ответ

Вы должны удвоить \in =

Вы должны вчетверо

SELECT * 
FROM test.table 
WHERE originalFilePath = 'C:\\inetpub\\wwwroot\\documentScanning\\output\\REQMAN/2018-09-06_10.03.53/TS18-6289.pdf';

SELECT * 
FROM test.table 
WHERE originalFilePath like '%C:\\\\inetpub\\\\wwwroot\\\\documentScanning\\\\output\\\\REQMAN/2018-09-06_10.03.53/TS18-6289.pdf%';

SELECT * 
FROM test.table 
WHERE originalFilePath like '% C:\\\\inetpub\\\\wwwroot\\\\documentScanning\\\\output\\\\REQMAN/2018-09-06_10.03.53/TS18-6289.pdf %';

Ещё вопросы

Сообщество Overcoder
Наверх
Меню