Petua untuk mengira baris dalam jadual pangkalan data yang besar
Apabila berurusan dengan jadual pangkalan data yang sangat besar, mengira baris dengan tepat boleh menjadi satu cabaran. Banyak artikel menunjukkan bahawa kaedah SELECT COUNT(*) FROM TABLE_NAME
tradisional mempunyai prestasi yang lemah apabila berurusan dengan set data yang besar. Artikel ini meneroka penyelesaian kiraan baris bebas vendor pangkalan data, dengan mengambil kira keperluan khusus berikut:
Penyelesaian agnostik vendor pangkalan data
Malangnya, pada masa ini tiada penyelesaian vendor-agnostik pangkalan data yang boleh mengatasi kaedah COUNT(*)
dan memperoleh bilangan baris yang tepat. Sintaks standard masih merupakan kaedah yang paling boleh dipercayai.
Penyelesaian Anggaran Pelayan SQL
SQL Server menyediakan beberapa penyelesaian anggaran, tetapi kaedah ini berada di luar skop artikel ini kerana ia tidak dapat memenuhi pengiraan tepat yang diperlukan oleh soalan.
Tambahan: Contoh Pelayan SQL
Untuk menggambarkan masalah, kami menguji jadual dengan 1.4 bilion baris dan 12 lajur:
SELECT COUNT(*) FROM MyBigtable WITH (NOLOCK)
: Ia mengambil masa 5 minit dan 46 saat, dan hasil pengiraan ialah 1,401,659,700SELECT Total_Rows = SUM(st.row_count) FROM sys.dm_db_partition_stats st WHERE object_name(object_id) = 'MyBigtable' AND (index_id
Yang terakhir mengembalikan bilangan baris yang lebih rendah sedikit disebabkan oleh penulisan serentak semasa ujian. Oleh itu, SELECT COUNT(*)
masih menjadi kaedah pilihan untuk mendapatkan bilangan baris yang tepat.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Baris dengan Cekap dalam Jadual Pangkalan Data Besar Merentasi Vendor Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!