В-третьих, если вы полагаете, что указав в select только нужные столбцы для таблицы с несколькими столбцами, запрос будет выполняться быстрее из-за меньшего количества дисковых операций ввода-вывода, то это не так.
Ну это все же не всегда так. Статья вообще не рассказывает, что происходит если кортеж (tuple) не помещается в страницу 8Кб (TOAST). Т.е. если, допустим у нас есть таблица tbl (id int, data text), то может быть прирост прозводительности, если мы выбираем только колонку id в том случае, когда данные к колонке data не помещаются в основном хранилище и выносятся в TOAST-таблицу.
Мне кажется, стоит упомянуть, что RDS теперь еще поддерживает расширения pg_cron и pg_partman. До этого ставить pg_partman была та еще головная боль, а теперь поддерживается из коробки (правда, без background worker-а, но pg_cron компенсирует).
Смотрели в сторону V Lang? Тоже статически типизированный, быстро компилируеся, по синтаксису похож на Go, можно графику рисовать, и т.д. И есть дженерики :)
Неплохой выбор допустимых библиотек. В ZF есть большинство необходимого (DBAL, контроллер, валидаторы и проч.), из PEAR можно взять пакеты для captcha и HTMLSafe. А если человек не знаком с библиотеками, то 80-ти часов вполне должно хватить на ознакомление.
Есть еще такая штука, что доступ к защищенным методам и свойствам объекта возможен из static-методов того же класса (если идет обращение к private-свойствам), или классов-наследников и классов-родителей (если идет обращение к protected-свойствам).
Иными словами, следующий код корректен:
class A
{
private $a = 'protected var';
private function __construct()
{}
public static function outputA()
{
$obj = new A();
echo $obj->a;
}
}
Ну это все же не всегда так. Статья вообще не рассказывает, что происходит если кортеж (tuple) не помещается в страницу 8Кб (TOAST). Т.е. если, допустим у нас есть таблица
tbl (id int, data text)
, то может быть прирост прозводительности, если мы выбираем только колонкуid
в том случае, когда данные к колонкеdata
не помещаются в основном хранилище и выносятся в TOAST-таблицу.Вот есть на первый взгляд неплохая статья, объясняющая этот аспект: https://hakibenita.com/sql-medium-text-performance
Двунаправленная логическая репликация - ну наконец-то!
Можно будет производить обновление мажорных версий без даунтайма вообще.
Мне кажется, стоит упомянуть, что RDS теперь еще поддерживает расширения pg_cron и pg_partman. До этого ставить pg_partman была та еще головная боль, а теперь поддерживается из коробки (правда, без background worker-а, но pg_cron компенсирует).
Скрипт проверяет, чтобы в адресе не было http, ну так схему и необязательно указывать
Иными словами, следующий код корректен:
class A
{
private $a = 'protected var';
private function __construct()
{}
public static function outputA()
{
$obj = new A();
echo $obj->a;
}
}
A::outputA(); // выведет 'protected var'