2つのMySQLクエリがないことで本当に逃げることはできません。どちらかを組み合わせて、UNIONを使用することもできます。または、新しい結合された「テーブル」(ビューまたはマテリアライズド・ビューのいずれか)を作成することによって-しかし、実際には努力する価値があるとは思わないでください。 2つのクエリは完全に問題ありません-あなたが言うように、それらは索引付けされています。
新しい結合インデックスを作成することで、1つのスフィンクスインデックス(したがって1つの検索クエリ)を使用できます。キーは一意ではないと言うので、新しい合成キーを作成する必要があります。
例...
sql_query = SELECT userid*2 AS id, 1 AS table_id, firstname AS one, lastname as two FROM tellycards_user_data \
UNION \
SELECT (id*2)+1 as id, 2 AS table_id, name AS one, screenshot AS two FROM tellycards_ripples
sql_attr_unit = table_id
これにより、偽のキーと、結果がどのテーブルからのものであるかを識別する属性が提供されます。これを使用して、元のテーブルを取得できます。 (同じことをする方法は他にもたくさんあります)
これにより、1つのクエリを実行し、組み合わせた結果を得ることができます。
...しかし、その良い考えを確信していません。結果が非対称である場合、結果を見逃す可能性があるためです。 1つのテーブルから20の一致する結果があり、別のテーブルから10の一致する結果があるとします。上位10件の結果を表示するとします。これは、制限があるため、2番目のテーブルの結果が最初のテーブルの下に隠れている可能性があります(極端な例では、実際には、それらが混ざっていることを願っています)。 2つの個別のクエリにより、各テーブルからいくつかの結果を取得することが保証されます。
...結局のところ。あなたが得たものに固執する。大丈夫だよ。