Лучший способ отфильтровать столбцы int в Postgres - PullRequest
0 голосов
/ 09 мая 2018

Представьте, что у меня есть такая таблица:

id  | value
----|------
1   | 1200
2   | 3450
3   | 1230
4   | 1245
5   | 4512

И id, и value являются Целыми числами , теперь я хочу отфильтровать все строки, которые начинаются с value с 12, в данном случае мне нужны следующие идентификаторы: 1,3,4.
Я придумаю несколько разных способов сделать это:

  1. Приведите value поле к String, а затем используйте LIKE или regex для фильтрации
  2. Используйте div, чтобы разделить эти значения на 100, а затем сравнить
  3. Используйте Shif-Right, чтобы сместить эти значения на 2, а затем сравнить

В первом случае я не совсем уверен в производительности, потому что работа со строками занимает больше всего времени.
В третьем случае я не знаю, как это сделать или вообще возможно сделать что-то подобное?

Как правило, я хочу знать, как лучше это делать и как? Есть ли лучший способ, который я не мог найти?

Кроме того, я использую Postgres и работаю с SQLalchemy ORM, поэтому будет принят либо запрос SQL, либо запрос SQLalchemy.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...