Ответов: 11 Просмотров: 2795
|
Сам задал вопрос сам на него и отвечу.
По скорости работы получается так.
Быстрее
5 – массив с настройками собирается силами PHP при получение ответа от БД
4 – Требуется собирать разбирать строку в массив с настройками.
2-3 – нету простого способа работы с данными.
1 – сериализация-десерилизация данных.
Медленее.
По занимаемому месту в БД
Меньше
2-3 – Биты
5 – биты + нагрузка на создание ячеек.
4 – текстовая строка. ~3кб
1 – сериализованные данные. Больше 168 кб.
Больше
В итоге первоначальная идея с сериализваным массивом, оказалась самой медленным и прожорливым решением. Разочарован очень сильно.
Нормального решения обработать пункты 2-3, силами PHP, нет. Более того оно ограничено 32 битами.
Решение с хранением в строке, хорошее, но проигрывает чуть-чуть решению с массивом.
Если посмотреть в первое сообщение, то можно заметить что решение использовать БД, пришло в самый последний момент. Тем не менее, остановился на нём.
DeepVarvar
Использовать MemCache для кеширования настроек которые будут использованы один раз в начале рабочей недели. Выглядит как минимум "странно".
Использование MemCache более оправдано, в случае с часто запрашиваемыми данными.
RomAndry
А я то думал реляционные базы всех победили, а нет конкуренты ещё есть...
Спасибо, на будущее обязательно познакомлюсь с решениями NoSql.
Мелкий
Спасибо, почитал. Это как то маловато. Если не ошибаюсь то PHP нет возможности объявить двоичное число. Ну и 32 бита в моём случае совсем не помогут.
Я остановился на варианте 5. Но если у кого будут интересные предложения, за исключением выбрать лучший движок/настроить БД/ использовать полезности/купить мощный сервак, то будут рад почитать. |