Ở đây tôi đang nhấn và chạy cùng một lệnh trên DB dev của tôi trên máy tính xách tay của tôi, hơn và hơn;MySQL cung cấp số lượng hàng dao động khi tôi truy vấn lược đồ?
mysql> select count(*) from tblTraceOutput;
+----------+
| count(*) |
+----------+
| 300175 |
+----------+
1 row in set (0.42 sec)
mysql> select count(*) from tblTraceOutput;
+----------+
| count(*) |
+----------+
| 300175 |
+----------+
1 row in set (0.35 sec)
mysql> select count(*) from tblTraceOutput;
+----------+
| count(*) |
+----------+
| 300175 |
+----------+
1 row in set (0.45 sec)
Ở đây tôi đang làm việc cùng, nhấn 'lên' và chạy lệnh cuối cùng một lần nữa, nhưng sản lượng được chaning. Chuyện gì đang xảy ra ở đây? Không có gì là sử dụng cơ sở dữ liệu này vì nó là một bản sao trên máy tính xách tay địa phương của tôi cho tinkering của riêng tôi. Tại sao số lượng bảng hàng thay đổi cho bảng tblTraceOutput
?
mysql> SELECT table_name, table_rows FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'smoketrace';
+----------------+------------+
| table_name | table_rows |
+----------------+------------+
| tblCategories | 9 |
| tblResults | 32463 |
| tblRoutes | 300 |
| tblSettings | 2 |
| tblTraceOutput | 303463 |
| tblTraces | 12 |
+----------------+------------+
6 rows in set (0.01 sec)
mysql> SELECT table_name, table_rows FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'smoketrace';
+----------------+------------+
| table_name | table_rows |
+----------------+------------+
| tblCategories | 9 |
| tblResults | 32948 |
| tblRoutes | 246 |
| tblSettings | 2 |
| tblTraceOutput | 297319 |
| tblTraces | 12 |
+----------------+------------+
6 rows in set (0.00 sec)
mysql> SELECT table_name, table_rows FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'smoketrace';
+----------------+------------+
| table_name | table_rows |
+----------------+------------+
| tblCategories | 9 |
| tblResults | 32948 |
| tblRoutes | 451 |
| tblSettings | 2 |
| tblTraceOutput | 302127 |
| tblTraces | 12 |
+----------------+------------+
6 rows in set (0.02 sec)
Tôi đã thấy hành vi này trong phpMyAdmin khi làm mới trang, vì vậy tôi muốn tự mình kiểm tra CLI và như bạn thấy, nó thực sự đang thay đổi!
mysql --version
./bin/mysql Ver 14.14 Distrib 5.5.8, for Linux (i686) using EditLine wrapper
free -m
total used free shared buffers cached
Mem: 1880 1830 49 0 51 600
-/+ buffers/cache: 1179 701
Swap: 1027 0 1026
uname -a
Linux laptop 3.4.11 #1 SMP Sun Sep 23 15:03:21 BST 2012 i686 i686 i386 GNU/Linux
bất cứ điều gì khác chọc vào bàn? Đừng quên rằng trên bảng innodb, một số hàng sẽ bị ẩn bởi các giao dịch, nhưng vẫn phải được tính nội bộ –
Không có gì là sử dụng cơ sở dữ liệu nếu đó là những gì bạn có ý nghĩa. Chỉ 15 phút kể từ khi tôi nhập dữ liệu, nhưng nó là <40MB, tôi đã tự hỏi liệu nó có còn là chỉ mục hay tương tự, nhưng CPU của tôi là 1% ~ 2% được sử dụng – jwbensley