2015-05-11 39 views
1

我有一個mysql表中有大量的行(10米)mysql運行查詢但不顯示結果

從mysql客戶端,我想運行查詢但不打印結果。這是因爲即使查詢在15秒內運行,將結果打印到控制檯也需要很多分鐘。

我該如何做到這一點?

編輯:我的查詢如下:

select user_id, count(*) as ct from user_geo_loc group by user_id, lat, lng; 

編輯2:在執行結束時,MySQL客戶端打印如下

9950710 rows in set (9.31 sec) 

我想找出這個時間,但不打印結果(需要15分鐘)

+0

的第一個 「屏幕」'SELECT DISTINCT NULL FROM your_table;'? – fancyPants

+0

你想要所有的結果還是不要?如果沒有,請在查詢中添加「限制」。如果是 - 等待。 –

+0

??所以不要運行查詢? – Strawberry

回答

2

在Linux上,您可以將輸出重定向到/dev/null以防止輸出。就像這樣:

mysql -u username -p database -e "SELECT * FROM table" > /dev/null 

在Windows上,相當於將是:

mysql -u username -p database -e "SELECT * FROM table" > NUL 

請注意:打印控制檯上的唯一的事情會有誤差,爲防止這一點,你就必須stderr重定向到stdout通過添加2>&1到端(Linux)的

+0

謝謝。我剛剛添加了unix time命令來測量時間 – arahant

1

在控制檯,則可能輸出重定向到空設備:

$ mysql -uUSER -pPASSWORD -e"select ..." DATABASE_NAME > /dev/null 

,或者你可能會重定向到文件,看起來稍後導致(這比打印輸出更快進入控制檯):

$ mysql -uUSER -pPASSWORD -e"select ..." DATABASE_NAME > ./output.txt 
0

好像你要尋呼機?

運行以下(在MySQL控制檯)

pager less 

將使用較少,只顯示信息