หากต้องการหน่วงคอลัมน์ใน MySQL ขั้นแรกให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −
mysql> สร้างตาราง LagDemo -> ( -> UserId int, -> UserValue int -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.74 วินาที)
ตัวอย่าง
แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −
mysql> แทรกลงในค่า LagDemo (12,158); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.61 วินาที) mysql> แทรกลงในค่า LagDemo (18,756); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.21 วินาที) mysql> แทรกลงในค่า LagDemo ( 15,346); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.25 วินาที) mysql> แทรกลงในค่า LagDemo (87,646); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า LagDemo (27,334); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.11 วินาที) mysql> แทรกลงในค่า LagDemo (90,968) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.08 วินาที) mysql> แทรกลงในค่า LagDemo (84,378); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า LagDemo ( 85,546);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.56 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก LagDemo;
ผลลัพธ์
<ก่อนหน้า>+---------+-----------+| รหัสผู้ใช้ | UserValue |+---------+-----------+| 12 | 158 || 18 | 756 || 15 | 346 || 87 | 646 || 27 | 334 || 90 | 968 || 84 | 378 || 85 | 546 |+-------+-----------+8 แถวในชุด (0.00 วินาที)นี่คือข้อความค้นหาที่จะหน่วงเวลาคอลัมน์ใน MySQL -
mysql> SET @f :=0;Query OK, 0 แถวได้รับผลกระทบ (0.00 วินาที)mysql> SET @s:=2;Query OK, 0 แถวที่ได้รับผลกระทบ (0.00 วินาที)mysql> SELECT l1.UserId, l1. UserValue , l1.UserValue / l2.UserValue AS 'LAG'-> FROM-> (SELECT if(@f, @f:=@f+1, @f:=1) เป็น RowNumber, UserId, UserValue FROM LagDemo) AS l1-> LEFT JOIN-> (เลือก if(@s, @s:=@s+1, @s:=1) เป็น RowNumber, UserId, UserValue FROM LagDemo) AS l2-> ON l1.RowNumber =l2.RowNumber;