Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

กระบวนการค่าที่แตกต่างกันของ MySQL Count Distinct นั้นช้ามาก จะยึดได้อย่างไร?


เพื่อเร่งกระบวนการ คุณสามารถใช้ INDEX ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1905 ( FirstName varchar(20), LastName varchar(20) , INDEX F_L_Name(FirstName,LastName) );Query OK, 0 แถวได้รับผลกระทบ (0.00 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable1905 ('John', 'Smith');Query OK, 1 แถวได้รับผลกระทบ (0.00 วินาที)mysql> แทรกลงในค่า DemoTable1905 ('John','Doe'); Query OK, 1 แถว ได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1905 ('Adam', 'Smith'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1905 ('John', 'Doe'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1905 ('Chris', 'Brown'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1905 ('Adam', 'Smith'); แบบสอบถาม ตกลง ได้รับผลกระทบ 1 แถว (0.00 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก * จาก DemoTable1905;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-----------+----------+| ชื่อจริง | นามสกุล |+-----------+----------+| อดัม | สมิธ || อดัม | สมิธ || คริส | สีน้ำตาล || จอห์น | โด || จอห์น | โด || จอห์น | Smith |+-----------+----------+6 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อนับค่าที่แตกต่าง -

mysql> เลือกจำนวน (นามสกุลที่ชัดเจน) จาก DemoTable1905;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+---------------------------+| นับ(ชื่อเฉพาะ) |+---------------------------+| 3 |+--------------------------+1 แถวในชุด (0.00 วินาที)