Rumah  >  Soal Jawab  >  teks badan

java - Pertanyaan berkaitan Mybatis

Dalam pembangunan sebenar, pertanyaan berkaitan satu-ke-banyak dan banyak-ke-banyak Mybatis menggunakan rujukan reultMap, rujukan javaType atau rujukan pilih yang manakah mempunyai prestasi yang lebih baik?
Adakah malas memuatkan dengan pilihan akan meningkatkan kelajuan dan prestasi pertanyaan?

ringa_leeringa_lee2702 hari yang lalu646

membalas semua(1)saya akan balas

  • 漂亮男人

    漂亮男人2017-05-27 17:43:50

    mybatis mempunyai tiga penyelesaian untuk mengendalikan situasi satu-ke-banyak:

    1. Sertai sub-jadual semasa membuat pertanyaan, dan kemudian biarkan mybatis menyusunnya

    2. Jangan sertai sub-jadual semasa membuat pertanyaan, dan mulakan pilihan untuk menangkap data sub-jadual

    3. Serupa dengan yang kedua, kecuali menggunakan fetchType=lazy untuk melambatkan masa merangkak

    Tiga pilihan ini masing-masing mempunyai masalah tersendiri:

    1. Penyelesaian pertama mempunyai dua kelemahan: 1) Ia tidak tepat semasa melakukan pertanyaan paging, 2) Jika terdapat banyak sub-jadual yang berkaitan, produk Cartesian akan menjadi sangat besar

    2. Pilihan kedua akan mempunyai 1+N pertanyaan, dan bilangan SQL yang dimulakan akan menjadi sangat menakutkan

    3. Penyelesaian ketiga nampaknya meningkatkan kecekapan pertanyaan pertama, tetapi jika anda mendapat sifat malas dalam gelung, tiada perbezaan daripada penyelesaian kedua

    Jadi, jika terdapat keperluan prestasi, kami perlu memasang sendiri koleksi satu-ke-banyak Kaedahnya: kumpulkan ID jadual utama, mulakan pertanyaan sekali untuk menangkap data semua sub-jadual dan. kemudian pemasangan buatan. Bilangan pertanyaan yang dimulakan dengan cara ini ialah 1+1.

    balas
    0
  • Batalbalas