2013-03-08 2 views
0

Основываясь на запросе, я бегу сейчас, я предполагаю, что это сон мечты:Обратное содержимое столбца для использования индекса?

У меня есть индекс в столбце, который содержит идентификатор строки. Эти идентификаторы имеют идентификатор на конце, так чтобы захватить данные мне нужно, мне нужно, чтобы соответствовать шаблону, как так:

key LIKE '%racecar' 

Поскольку вы не можете воспользоваться индексом с групповым символом начала строки, я был надеясь, что я мог бы сделать это:

reverse(key) LIKE 'racecar%' 

Но это означало бы, MySQL должен смотреть, и выполнять функцию на, каждой строки в любом случае, это правильно? Любые другие способы обойти эту проблему, не изменив соглашения об именах?

ответ

0

Это пахнет плохим дизайном БД. Разделите строку и идентификатор на два отдельных столбца, и проблема (и многие другие проблемы) будет автоматически решена.

Я также сомневаюсь, что порядок строки и идентификатор будут иметь значение для MYSQL в отношении производительности.

Также имейте в виду, что у вас есть указатель на ключ, но это не означает, что у вас есть указатель по обратному адресу key, который является причиной того, что вы не получаете ускорения вообще. Я считаю, что, учитывая ситуацию, выступление выходит за рамки спасения.

+0

Я слышал это, но содержимое БД далеко за пределами моего контроля. – Chords

+0

@Chords Я добавил еще несколько текстов, которые, я надеюсь, сделают мою мысль более ясной. –

Смежные вопросы