Прямые обновления таблиц:
Я не согласен с Джейком, что все обновления должны проходить через API.Правильным утверждением является то, что использование API - это единственный поддерживаемый способ обновления.Фактически есть несколько случаев, когда прямое изменение таблиц является наиболее разумным вариантом:
Однократный импорт больших объемов данных, когда система не работает.
Модификация определенных полей для больших объемов данных.
Я согласен, что такого рода прямое изменение должно быть только последним средством, когда производительность APIнеприемлемый.Однако, если вы хотите изменить логическое поле для тысяч записей, сделать прямое обновление SQL для таблицы - отличный вариант.
Относительная скорость
Согласенс XVargas до относительной скорости.
Нефильтрованные представления по сравнению с таблицами. Я не считаю, что преимущество в производительности стоит того, чтобы вручную объединять базовую и дополнительную таблицы.
Нефильтрованные представления и фильтрованные представления.сложный запрос, выполнение которого заняло около 15 минут с использованием отфильтрованных представлений.После переключения на неотфильтрованные представления этот запрос выполнялся примерно через 10 секунд.Если посмотреть на соответствующие планы запросов, в необработанном запросе было 8 операций, а в запросе с отфильтрованными представлениями - более 80 операций.
Нефильтрованные представления и API. Я никогда не сравнивал запросы через API с запросами к представлениям, но сравнивал стоимость записи данных через API и вставки напрямую через SQL.Импорт миллионов записей через API может занять несколько дней, а та же операция с использованием операторов вставки может занять несколько минут.Я предполагаю, что разница не так велика во время чтения, но, вероятно, все еще велика.