В настоящее время я использую mysql с PHP, потому что это то, что я узнал, и мне никогда не приходилось использовать что-либо еще. В моем текущем проекте у меня есть база данных с 10 миллионами строк и около 10 столбцов, и я обнаружил, что она очень медленная, когда я выполняю сложные вызовы, как в локальной (windows) среде, так и в рабочей (linux) среде. Оба сервера имеют более 10 ГБ оперативной памяти. У меня уже установлен Zend AMF, поэтому все данные передаются в двоичном формате.
Я самоучка, и никогда не было, чтобы кто-нибудь учил меня всем, что нужно для эффективной работы с ДБМ. Моей первой мыслью было бы разбить БД на куски, а затем изменить весь мой php-код .. кажется, много хлопот и ошибок в php-коде ... есть ли лучший способ, о котором я не знаю?
Мой пользовательский интерфейс основан на флэш-памяти, и я готов сменить промежуточное ПО, если это означает значительное увеличение скорости. На данный момент я действительно знаю только PHP как промежуточное ПО.
Я не хочу изучать еще один БД на данный момент и считаю, что должны быть некоторые приемы, чтобы оптимизировать мою производительность, но я хотел бы получить некоторые идеи, прежде чем я взломаю свою базу данных.
fyi: база данных доступна только для чтения с точки зрения пользователя. пользователи НЕ вводят новые данные в базу данных. Кроме того, из 10 миллионов строк в базе данных интенсивно используются только около 200 000. (Я не знаю, какие строки 200К интенсивно используются, так как запись этой информации, вероятно, еще больше замедлит мою базу данных).
Каждый звонок выглядит примерно так:
SELECT name, id, address
FROM table
WHERE date_added=?
LIMIT ?,?
ORDER BY no_children ASC
... и различные другие операторы "select".