Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Apa yang umumnya lebih cepat, mengambil file atau menjalankan kueri SQL LIKE %x% melalui gumpalan?

Jika Anda memiliki 1 juta file untuk dipahami, Anda akan (setahu saya) menelusuri setiap file dengan ekspresi reguler.

Untuk semua maksud dan tujuan, pada akhirnya Anda akan melakukan hal yang sama pada baris tabel jika Anda melakukan kueri massal menggunakan operator LIKE atau ekspresi reguler.

Pengalaman saya sendiri dengan grep adalah bahwa saya jarang mencari sesuatu yang tidak mengandung setidaknya satu kata lengkap, jadi Anda mungkin dapat memanfaatkan database untuk mengurangi kumpulan yang Anda cari.

MySQL memiliki fitur pencarian teks lengkap asli, tetapi saya tidak menyarankan karena itu berarti Anda tidak menggunakan InnoDB.

Anda dapat membaca tentang itu dari Postgres di sini:

http://www.postgresql.org/docs/current/static/textsearch .html

Setelah membuat indeks pada kolom tsvector, Anda kemudian dapat melakukan "grep" Anda dalam dua langkah, satu untuk segera menemukan baris yang mungkin secara samar memenuhi syarat, diikuti oleh yang lain pada kriteria Anda yang sebenarnya:

select * from docs where tsvcol @@ :tsquery and (regexp at will);

Itu akan jauh lebih cepat daripada yang bisa dilakukan grep.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara terbaik untuk menyimpan Pengaturan Aplikasi PHP?

  2. Jumlah dan grup MySQL berdasarkan hari

  3. Menghasilkan berbagai angka di MySQL

  4. Kesalahan aneh dan mengganggu:Panggil ke fungsi yang tidak ditentukan mysql_query()

  5. Bagaimana cara mengekspor database dari instans Amazon RDS MySQL ke instans lokal?