Подтвердить что ты не робот

Является ли MySQL более быстрым, чем обычный запрос?

У меня сложный запрос с использованием многих объединений (фактически 8). Я думал об упрощении его взгляда. После небольшого исследования я вижу преимущества в простоте и безопасности. Но я не видел никаких упоминаний о скорости.

Как работают представления, как подготовленные операторы, где запрос предварительно скомпилирован? Есть ли заметное увеличение производительности при использовании представлений?

4b9b3361

Ответ 1

Нет, представление представляет собой просто сохраненный текстовый запрос. Вы можете применить к нему WHERE и ORDER, план выполнения будет рассчитан с учетом этих положений.

Ответ 2

Иногда это может помочь, но это не серебряная пуля. Я видел представление справки, но я также видел, что это больно. Представление может заставить материализоваться, что иногда может привести к лучшему пути доступа, если MySQL не выбрал для вас хороший.

Ответ 3

Просмотр в основном сохраненного подзапроса. По существу нет разницы между:

SELECT *
FROM someview

и

SELECT *
FROM (
    SELECT somestuff 
    FROM underlying table
);

кроме представления немного более портативного, так как вам не нужно выписывать базовый запрос каждый раз, когда вы хотите работать с любыми возвращаемыми данными.