Konstantin Rudenkov: ну тогда единственное что могу предложить это держать на готове еще десяток баз которые поддерживать репликацией. по необходимости переименовывать.
всё остальное сводиться либо к поднятию бэкапа, пусть и многопоточному и сжатому.
Андрей Суржиков: запрос
SELECT id, var2, var4, vchar4, vchar5, vchar34, vchar40
FROM tbl
WHERE
var2="searchtext"
OR var4="searchtext"
можно переписать в
SELECT id, var2, var4, vchar4, vchar5, vchar34, vchar40
FROM tbl
WHERE
var2="searchtext"
UNION ALL
SELECT id, var2, var4, vchar4, vchar5, vchar34, vchar40
FROM tbl
WHERE
var2="searchtext"
UNION ALL
......................
запрос с множественным OR скорее всего не будет использовать индексы. запрос с одним условием будет.
запрос с таким уснловием обычные индексы использовать не может.
OR vchar4 LIKE "%searchtext%"
по этому полю надо делать полнотекстовый индекс и искать по нему специальными командами.
если я правильно понял то вопрос звучит как "нужно ли экранировать переменные ПЕРЕД посылкой их в PDO".
нет не нужно, pdo сделает это сам. другой вопрос в том, что перед попаданием в базу их всё равно придется проверять на допустимые значения, чтобы показать пользователю ошибку, если что, а это эквивалентно санитизации.
@edinorog Другой пример: 64-разрядная версия Windows 7 может сообщать, что на компьютере с установленным объемом памяти в 8 ГБ доступно только 7,1 ГБ системной памяти.