Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk memaksa Postgres menggunakan indeks tertentu?

<p>Bagaimanakah saya boleh memaksa Postgres menggunakan indeks apabila ia berkeras untuk melakukan imbasan berurutan? </p>
P粉785905797P粉785905797426 hari yang lalu624

membalas semua(1)saya akan balas

  • P粉281089485

    P粉2810894852023-08-21 18:52:40

    Dengan mengandaikan anda bertanya tentang ciri "petunjuk indeks" yang biasa dalam banyak pangkalan data, PostgreSQL tidak menyediakan ciri sedemikian. Ini adalah keputusan yang disengajakan oleh pasukan PostgreSQL. Gambaran keseluruhan yang baik tentang sebab dan perkara yang boleh anda lakukan boleh didapati di sini. Sebab asasnya ialah ini ialah kaedah pengoptimuman prestasi yang cenderung menyebabkan lebih banyak masalah apabila data berubah, dan pengoptimum PostgreSQL boleh menilai semula rancangan berdasarkan statistik. Dalam erti kata lain, pelan pertanyaan yang baik hari ini mungkin bukan rancangan pertanyaan yang baik sepanjang masa dan pembayang indeks memaksa pelan pertanyaan tertentu.

    Sebagai alat yang sangat kasar untuk ujian, anda boleh menggunakan enable_seqscanenable_indexscan parameter. Lihat:

    Ini tidak bertujuan untuk kegunaan pengeluaran yang berterusan . Jika anda menghadapi masalah dengan pemilihan pelan pertanyaan, anda harus menyemak dokumen untuk menjejaki isu prestasi pertanyaan. Jangan hanya tetapkan parameter enable_ dan biarkan.

    Melainkan anda mempunyai sebab yang sangat baik untuk menggunakan indeks, Postgres mungkin akan membuat pilihan yang tepat. kenapa?

    • Untuk meja kecil, imbasan berurutan adalah lebih pantas.
    • Postgres tidak menggunakan indeks apabila jenis data tidak sepadan, anda mungkin perlu memasukkan penukaran yang sesuai.
    • Tetapan pelan anda mungkin menyebabkan masalah.

    Lihat juga siaran kumpulan berita lama ini.

    balas
    0
  • Batalbalas