SqLite3を使っています。
先頭から50件、最後から50件をunionで結合してはどうですか?
(select * from tbl_name limit 50) union all (select * from tbl_name order by col_name desc limit 50) order by col_name;
重かったらすみません;;
うーむ。やはり、2回走らせないと駄目でしょうか・・・。
unionを使う場合は、これで1回(1文)なんですよ。
SqLite3の場合、DBエンジンが貧弱なのでどんなとり方をしても
たいすてスピードは変りません。
それって、2回のSelectが走りませんか?
今はWhereやGroup byの条件が無いのでいいのですが、これが重くなると これを2回やりたくないのです。
UNIONによるクエリを1回とみなさないのでしたら出来ません。
速度が問題になっているのであればクエリの回数の問題ではなく、SQLiteの限界かDB設計の問題だと思います。
where句やorder byに使っているカラムにインデックスは設定してありますか?まずはその辺りを見直してみるべきだと思います。
>where句やorder byに使っているカラムにインデックスは設定してありますか
いや、だからそういう事ではなく。
2回クエリして、unionという事でしょうか?
1回でやりたいのですが。