Saya telah menulis pertanyaan. Ia berfungsi lebih baik. Tetapi pada masa ini, semua jadual mempunyai 100K baris, dan salah satu pertanyaan saya kembali terlalu perlahan. Bolehkah anda mencadangkan saya cara mengoptimumkan pertanyaan saya?
select * from tbl_xray_information X WHERE locationCode = (SELECT t.id from tbl_location t where CODE = '202') AND ( communicate_with_pt is NULL || communicate_with_pt='') AND x.patientID NOT IN (SELECT patientID FROM tbl_gxp_information WHERE center_id = '202') order by insertedON desc LIMIT 2000
Sila ambil perhatian bahawa "ID pesakit" di sini ialah varchar.
Ini mungkin berjalan lebih laju:
Indeks ini mungkin membantu:
Memandangkan
lebih baik untuk memilih NULL atau rentetan kosong untukOR
kurang dioptimumkan,OR
优化不佳,可能最好为communicate_with_pt
mungkincommunicate_with_pt
(untuk mengelakkan ujian kedua-duanya). 🎜