我想要的是在表格中搜索唯一ID(不是主键),其中我对此唯一ID的99%搜索将在最新添加的行中。
所以我希望我的搜索从最后一行开始到第一行。由于该列是唯一的,当搜索将从最后一行开始时,将更快地找到该值。
所以问题是如何强制mysql从最后一行开始在我的程序中搜索?
我发现这个question类似,或者像我的问题有相同的想法,但我没有找到任何有效的答案。
任何帮助表示赞赏:))
答案 0 :(得分:0)
如果存在与添加时间相关联的日期或有序编号,并且您只想返回一组#行,则向该列添加索引并按顺序添加DESC。
SELECT [COLUMNS] FROM [TABLE] WHERE [CRITERIA] ORDER BY [INDEX] DESC LIMIT [NUMBER]
我相信这会产生类似于你正在寻找的东西。另外,在搜索条件中为列添加索引可以加快查询速度并提供帮助avoid FULL TABLE Scans。
答案 1 :(得分:0)
这样的事情......只是一个猜测
$query = "select searchkey from tablename where searchkey like %$searchtext% order by id desc";
答案 2 :(得分:0)
SELECT DISTINCT (COLUMNNAME) FROM TBLNAME WHERE FIELDNAME LIKE %YOURVALUE% ORDER BY ID DESC