PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Postgres LIKE '...%' tidak menggunakan indeks

PostgreSQL akan melakukan ini jika Anda membuat indeks dengan text_pattern_ops operator, atau jika Anda menggunakan susunan C.

Jika Anda menggunakan beberapa susunan acak lainnya, PostgreSQL tidak dapat menyimpulkan banyak hal tentangnya. Perhatikan ini, dalam susunan "en_US.utf8" yang sangat umum.

select * from (values ('03.000221.1'), ('03.0002212'), ('03.000221.3')) f(x) order by x;
      x      
-------------
 03.000221.1
 03.0002212
 03.000221.3

Yang kemudian secara alami mengarah ke jawaban yang salah ini dengan pertanyaan Anda:

select * from (values ('03.000221.1'), ('03.0002212'), ('03.000221.3')) f(id)
    where ((id >= '03.000221.'::text) AND (id < '03.000221.Z'::text))
     id      
-------------
 03.000221.1
 03.0002212
 03.000221.3



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Masalah kendala PostgreSQL

  2. masalah npgsql di aplikasi c # - Koneksi yang ada ditutup secara paksa oleh host jarak jauh

  3. paket panggilan fungsi postgreSQL

  4. Haruskah koneksi PostgreSQL digabungkan dalam aplikasi web Python, atau membuat koneksi baru per permintaan?

  5. Ancaman Keamanan PostgreSQL Teratas