2014-05-20 71 views
2

我想要的是在表中搜索一個唯一的ID(不是主鍵),其中99%的搜索此唯一ID將位於最新添加的行中。mysql從最後一行開始搜索唯一值

所以我希望我的搜索從最後一行開始到第一行。由於該列是唯一的,因此當搜索將從最後一行開始時,該值將會更快地找到。

所以問題是我如何強制MySQL開始在我的程序從最後一行搜索?

我發現這個question類似,或有像我的問題一樣的想法,但我沒有找到任何工作的答案。

任何幫助表示讚賞:))

回答

0

如果它增加了與時間關聯的日期或訂購號碼,你只想要返回行的一組#然後加入索引的列和ORDER BY it DESC。

SELECT [COLUMNS] FROM [TABLE] WHERE [CRITERIA] ORDER BY [INDEX] DESC LIMIT [NUMBER] 

我相信這會導致類似於您正在尋找的東西。在您的搜索條件中向列添加索引可以加快您的查詢並幫助avoid FULL TABLE Scans

0

怎麼樣這樣的事情......只是一種猜測

$query = "select searchkey from tablename where searchkey like %$searchtext% order by id desc"; 
0
SELECT DISTINCT (COLUMNNAME) FROM TBLNAME WHERE FIELDNAME LIKE %YOURVALUE% ORDER BY ID DESC