在应用程序中进行数据关联和直接使用关联查询的优劣?
在应用程序中进行数据关联(即执行多次查询,并把结果进行关联)和直接使用关联查询的优劣?
这两种方法分别在什么场景下性能好?
回复内容:
在应用程序中进行数据关联(即执行多次查询,并把结果进行关联)和直接使用关联查询的优劣?
这两种方法分别在什么场景下性能好?
一般来说使用直接关联查询,因为这个并不是想不用就能不用的。如果想减少关联查询提升效率,那么要额外做很多工作,简单来说就是各种缓存。
最简单的例子: Order.StuatsId 关联 OrderStatus.Id
为了能显示订单状态
方法1: 关联查询
方法2: OrderStatus被缓存,同时提供了方法getStatusTitleById的Helper给前台使用,从而避免关联。
所以并发压力不大的项目不用太关注这个,几乎无影响,而并发压力大的项目会专门把这个作为长期任务针对处理。
结论:一般来说使用关联查询造成的性能损失对访问者来说是无知觉的,但是一定要避免过多的关联(例如只需要2个表的数据,实际查询的SQL关联了5个表)
光从效率上来看,肯定关联查询效率要更高
从代码可读性来看,应该是分开来可读性更高。而且可以重用。
具体怎么选择要看你项目大小。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











MySQL dan phpmyadmin boleh diuruskan dengan berkesan melalui langkah -langkah berikut: 1. Buat dan hapus pangkalan data: hanya klik phpmyadmin untuk diselesaikan. 2. Mengurus Jadual: Anda boleh membuat jadual, mengubahsuai struktur, dan menambah indeks. 3. Operasi Data: Menyokong memasukkan, mengemas kini, memadam data dan melaksanakan pertanyaan SQL. 4. Data Import dan Eksport: Menyokong SQL, CSV, XML dan format lain. 5. Pengoptimuman dan Pemantauan: Gunakan arahan yang boleh dioptimumkan untuk mengoptimumkan jadual dan gunakan penganalisis pertanyaan dan alat pemantauan untuk menyelesaikan masalah prestasi.

session_start () iscrucialinphpformanaginguserSessions.1) itinitiatesanewsessionifnoneexists, 2) resumeSanexistingsession, dan3) setSasessionCookieforcontinuityAcrossrequests, enableingApplicationeUseUshenticationandPersonalConizedConizedContentContentContentContentContentContentContentContentContentContentContentC.

Di MySQL, tambah medan menggunakan alterTabletable_nameaddcolumnnew_columnvarchar (255) afterexisting_column, memadam medan menggunakan altertabletable_namedropcolumncolumn_to_drop. Apabila menambah medan, anda perlu menentukan lokasi untuk mengoptimumkan prestasi pertanyaan dan struktur data; Sebelum memadam medan, anda perlu mengesahkan bahawa operasi itu tidak dapat dipulihkan; Mengubah struktur jadual menggunakan DDL dalam talian, data sandaran, persekitaran ujian, dan tempoh masa beban rendah adalah pengoptimuman prestasi dan amalan terbaik.

Fungsi MySQL boleh digunakan untuk pemprosesan dan pengiraan data. 1. Penggunaan asas termasuk pemprosesan rentetan, pengiraan tarikh dan operasi matematik. 2. Penggunaan lanjutan melibatkan menggabungkan pelbagai fungsi untuk melaksanakan operasi kompleks. 3. Pengoptimuman prestasi memerlukan mengelakkan penggunaan fungsi dalam klausa WHERE dan menggunakan GroupBy dan jadual sementara.

Untuk selamat dan teliti menyahpasang MySQL dan membersihkan semua fail sisa, ikuti langkah -langkah berikut: 1. Hentikan perkhidmatan MySQL; 2. Nyahpasang pakej MySQL; 3. Fail konfigurasi bersih dan direktori data; 4. Sahkan bahawa pemotongan adalah menyeluruh.

Memasang MySQL pada macOS boleh dicapai melalui langkah-langkah berikut: 1. Pasang homebrew, menggunakan command /bin/bash-c"$(curl-fsslhttps://raw.githubusercontent.com/homebrew/install/head/install.sh) ". 2. Kemas kini homebrew dan gunakan brewupdate. 3. Pasang MySQL dan gunakan Brewinstallmysql. 4. Mulakan perkhidmatan MySQL dan gunakan BrewServicessTartMysql. Selepas pemasangan, anda boleh menggunakan mysql-u

Kaedah yang cekap untuk memasukkan data dalam MySQL termasuk: 1. Menggunakan sintaks Insertinto ... Sintaks, 2. Menggunakan perintah LoadDatainFile, 3. Menggunakan pemprosesan transaksi, 4. Laraskan saiz batch, 5. Lumpuhkan pengindeks

Komposer adalah alat pengurusan ketergantungan untuk PHP, dan menguruskan kebergantungan projek melalui fail komposer.json. 1) parse composer.json untuk mendapatkan maklumat ketergantungan; 2) Mengurangkan kebergantungan untuk membentuk pokok pergantungan; 3) Muat turun dan pasangkan kebergantungan dari Packagist ke Direktori Vendor; 4) Menjana fail komposer.lock untuk mengunci versi ketergantungan untuk memastikan konsistensi pasukan dan kebolehkerjaan projek.
