2012-07-31 23 views

Trả lời

10

Hãy thử ví dụ này đơn giản

mysql> set profiling=1; 
mysql> select count(*) from comment; 
mysql> select count(*) from message; 
mysql> show profiles; 

+----------+------------+------------------------------+ 
| Query_ID | Duration | Query      | 
+----------+------------+------------------------------+ 
|  1 | 0.00012700 | select count(*) from comment | 
|  2 | 0.00014200 | select count(*) from message | 
+----------+------------+------------------------------+ 
2 rows in set (0.00 sec) 
2

Bạn có thể viết truy vấn của bạn bên trong sub-query với COUNT để làm các trick như:

SELECT COUNT(1) 
FROM (SELECT * FROM your_table WHERE ...) a 

Nó có thể làm chậm truy vấn của bạn một chút, vì nó đang làm COUNT cũng nhưng tôi nghĩ không đáng kể của nó.

Để đo hiệu suất truy vấn bạn có thể bật PROFILES trong MySQL như:

SET profiling = 1; 

Để biết thêm chi tiết về PROFILES thấy here.

+0

Nó nói "ERROR 1248 (42000): Mỗi bảng có nguồn gốc phải có bí danh riêng của mình"? – TIMEX

+0

cung cấp bất kỳ bí danh nào cho bảng có nguồn gốc khi tôi đã đặt 'a' ở cuối – Omesh

0
$starttime = microtime(true); 

//Do your query and stuff here 

$endtime = microtime(true); 
$duration = $endtime - $starttime; //calculates total time taken 
Các vấn đề liên quan