Как SQLite внутренне обрабатывает псевдоним?
Создает ли псевдоним имени таблицы внутри себя копию той же таблицы или она просто ссылается на ту же таблицу, не создавая копию?
Когда я создаю в своем коде несколько псевдонимов одной и той же таблицы, производительность запроса сильно падает!
В моем случае у меня есть одна таблица, назовите ее MainTable, а именно 2 столбца, имя и значение.
Я хочу выбрать несколько значений в одной строке как разные столбцы. например
Имя: а, б, в, г, д, е
Значение: p, q, r, s, t, u
такой, что а соответствует р и т. д.
Я хочу выбрать значения для имен a, b, c и d в одной строке => p, q, r, s
Поэтому я пишу запрос
SELECT t1.name, t2.name, t3.name, t4.name
FROM MainTable t1, MainTable t2, MainTable t3, MainTable t4
WHERE t1.name = 'a' and t2.name = 'b' and t3.name = 'c' and t4.name = 'd';
Таким образом, написание запроса снижает производительность, когда размер таблицы увеличивается, как справедливо указано выше Ларри.
Есть ли эффективный способ получить этот результат. Я плохо разбираюсь в SQL-запросах :(