请教一个问题:mysql中,我查询语句
select * from tableA where name='test' and age='18';
然后我有一个name和age的list列表,分别通过这两个条件去查询,有什么比较方法可以查询;
eg:
select * from tableA where name='test' and age='18';
select * from tableA where name='test1' and age='18';
select * from tableA where name='test2' and age='20';
select * from tableA where name='test2' and age='56';
···
其中查出来的数据对应Java的一个实体。其中List表的大小为500-3000,数据表的记录为每天8万左右
建立視圖查詢,這樣效率會好一點。至少比臨時表效率稍快
table A 加一列名稱nameage 裡面的值是 name和age的值合併 例如 test18
select * from tableA where nameage in ('test18','xxxxxx','xxxxxxx')
當然你不加列也行,自己sql拼下也行
togeek的答案很帥
sql的效率可能要再考慮下
不行嗎?
資料量不大的時候,可以這樣乾。
但透過explain以上查詢會發現,這種寫法是沒法用上索引的,所以查詢效率很低。
建立臨時表 join臨時表中的2個欄位
http://stackoverflow.com/ques...
http://www.zhihu.com/question...