Вы же спросили как оптимально. Для фоновой аналитики обычно ну и пусть себе шуршит на отдельное реплике сколько потребуется, а для oltp оптимально его не делать по множеству строк вовсе. Для вас мелкая циферка, для любой mvcc базе интересное приключение с прочтением таблицы и проверкой каждой строки (и каждой её версии что бывает больно на частых update) видна ли та текущей транзакции.
PARAM_BOOL, PARAM_INT, PARAM_STR (плюс пара вариантов charset). PARAM_LOB и PARAM_NULL сомнительной полезности, да нереализованный PARAM_STMT, PARAM_INPUT_OUTPUT - не параметр, а только дополнение для других.
Где вы ещё видите много десятков параметров? Или игнорируете документацию где сказано что bindParam принимает PDO::PARAM_* ?
Что у вас за варианты и откуда вообще взялись вторые два - я без понятий.
То есть, именнованные параметры, которые по идее должны фильтровать ввод
Не должны. Совсем.
api prepared statements - это транспорт. Решают задачу как передать значения из приложения в СУБД. Какие значения передавать - это обязанность вашего кода.
YTGoodFox, а с какой целью пишете код? Если чтобы научиться - на что указывает что пишете по уроку - то вот, изучайте. Это основное занятие разработчика и есть - найти что не так и как исправлять. Начинающим хорошо, компилятор подсказывает.
softshape, мультимастер - это философский камень от мира СУБД. Как и алхимики в прошлом - вам много кто попробует мультимастер продать. А вот работающий ли... Необходимо внимательно разбирать как именно реализовали. И насколько этот способ подходит именно вам.
Проблематику я уже описал в ответе, могу дополнить примером:
Делаем денежный перевод, его должны одобрить безопасники.
БД 1 ставит статус "одобрено" и отправляет перевод на выполнение.
БД 2 ставит статус "отклонено"
Ну и каково должно быть поведение работающего мультимастера? Какой статус оставить? А почему?
MongoDB is an example of a sharded database architecture.
Это не мультимастер. Это наборы шардов, каждый шард - набор из одного мастера и реплик. Конкретный документ может быть обновлён только на текущем мастере replicaset.
Ynanicha, можете развести розетку самостоятельно. Это просто если знать что в 100мбит/с режиме используется только две витые пары. Но не поможет если у вас только 4-жильный кабель и заведён в помещение. А они дешевле 8-жильных и тут могли сэкономить при монтаже ранее.
Рональд Макдональд, а что мешает абсолютно неизвестной железке так поступить? Здравый смысл?
Да, я намеренно сгущаю краски т.к. никакой конкретики в вопросе не обозначено. Невозможно доказать, что не существует контроллера который будет творить абсурд.
Давайте (гипотетически) представим что это возможно.
А давайте представим. Потому что это обязательная часть стандарта SQL. Часть E031-01 Delimited identifiers.
Имя таблицы может быть числом. Синтаксически к такому имени придётся обращаться как "12345", но имя этой таблицы - именно 12345, так она в справочных каталогах и будет фигурировать.