union
データベースのさまざまなテーブルを作成するスクリプトがあります。
ユーザーが読みやすいように、ページネーションを使用して結果を表示する必要があります。
これは私のコードです:
//Fetch
foreach($query_info->result() as $info){
//I'm going to create a query for each row i get from the db
$query [] = (' (
SELECT
'.$info->slug.'_dog.`name`,
`age`,
'.$info->slug.'_breed.`name` as breed,
`sex`,
`link`,
`sterilized`,
\''.$info->slug.'\' as prefix
FROM
'.$info->slug.'_dog,
'.$info->slug.'_breed
WHERE
'.$info->slug.'_dog.breed = '.$info->slug.'_breed.id
AND
'.$info->slug.'_dog.type = '.$type.'
)';
}
//implode different UNION
$query_final = implode(" UNION ",$query);
ご覧のとおり、クエリは非常に大きくなる可能性があります。どうすればページネーションできますか?
私の 2 番目のオプションは、約 10 ~ 20 のテーブルのすべての結果を含む完全なビューを作成することです...どちらがデータベースにとって高速ですか? 「大きな」ユニオンまたはビュー?