プログラミング初心者です。
現在個人でシステムを作成しており、現在のデータは数百行しかありませんが、将来的には数千行、数万行になるかもしれないテーブルがあります。
##困っていること
様々な条件でソートをしたいのですが、使用しているデータベースのスペックが低いので、処理の速さと負荷の大きさが気になります。
※どのソートも一つの列に対してソートします
##環境
使用データベース
・SQL Server (Azure SQLServer)
・Azureサービスでメモリ容量など詳細を見ることはできないのですが、Freeプランを使用しています
・Azure Database
・容量 250GB ※将来増量予定
テーブル定義 ※将来的に数千~数万行を想定
ID nvarcahr(450) 主キー Title nvarchar (450) ViewCount int decimal(20, 0) //ソートしたい列 LikeCount int decimal(20, 0) //ソートしたい列 CommentCount int decimal(20, 0) //ソートしたい列
##疑問点・調べたこと
調べてみると、**インデックスを付けるとその列で『データが並んで保存される』**ので、ソートの処理が早くなる、といった旨の記事を読みました。
より調べてみると、インデックスには種類があり、ここで指しているインデックスは『クラスター化インデックス』なのではと思っております。
しかし、『クラスター化インデックス』は複数個付けることができず、今回は複数列に対してインデックスを付けたいので足りません
そこでもっと調べてみると、『非クラスター化インデックス』は複数付けることができることがわかりました。
しかし、この**『非クラスター化インデックス』は、『データを並び替えて保存しない』**ということで、今回のソートをする目的でつけても、処理が早くなる、負荷が減るといった風にはならないのではと心配しております
とても初歩的な質問かもしれないのですが、どうか教えて頂けないでしょうか。
回答1件
あなたの回答
tips
プレビュー