私のDBテーブルは次のとおりです
|id|code|qn1|qn2|qn3|qn4|qn5|.............|qn38|qn39|qn40|name|modfiedDate|status|RollNo|
このテーブルから詳細を取得するためにクエリを最適化しようとしています
現在表示している質問に対して選択されている未回答の質問とオプションの数を見つける必要があります
ex : 質問 1 で選択された qn1 ホールド値
クエリ
select * from tbl_name where code ='xx' and RollNo ='123';
ビュー ページ表示の質問は一度に 1 つです。未回答の質問の総数が必要で、多くのヒットがあります。
質問には合計 40 のフィールドがあり、22 の質問しかない場合もあります。
このクエリはパフォーマンスを向上させますか
$field_str="";
for($no=1;$no<=$TotalQ_count;$no++)
{
$field_str .= ",qn".$no;
}
$field_str =ltrim($field_str,",");
$querycnt = "SELECT status, $field_str from tbl_name
where code ='xx' and RollNo ='123' ";
このクエリを改善する他の方法はありますか?