Aisamiery

Aisamiery
Рейтинг
319
Регистрация
12.04.2015
Basilisk:
неплохо, кстати
единственное, что избыточности и так много

В данном случае можно добавить поле partners_id в mailmaster_users и склеивать по нему. Но лучше вынести настройки в нормальную табличку с адекватными связями.

Я предпочитаю хранить настройки/поля/etc в табличке вида id_сущности|название_поля|значение_поля, можно повесить индекс на значение поля и составные индексы на сущность+название+значение, сущность+название



---------- Добавлено 21.07.2016 в 19:38 ----------

Ну вот, а тут всего 3697 строк обрабатываеться и везде с индексами, как положено

Magistr:

Вот и пытаюсь понять, почему Join по 1 полю - все отлично, по 2 и больше - затык, причем с одинаковой скоростью выборки.

У вас запрос обрабатывает 32 304 386 строк

А добавьте EXPLAIN с одним параметром, который отрабатывается быстро. У вас просто на джоинах не используються индексы, да и тип объединения чуть лучше чем ALL, но очень плохо что последний.

А вообще предлагаю упрощать запросы, разбивать на подзапросы и менять структуру или вводить избыточность в таблицы.

Basilisk:

Если 35 секунд на 7000 записей - дело не в индексах, ошибка именно в схеме БД.

без EXPLAIN не понять, скорее всего там где то не юзается индекс и mysql из за этого ворочает миллионами строк, собственно по этому так и долго.

Magistr:

выборка выполняется за 0,1 сек
Каждое последующее добавление в условие еще одного поля увеличивает время выполнения до 32-35 сек, и больше не увиличивается, т.е если больше 1 поля в IN условии - получаем запрос в 35 сек.

Выполните запрос 3 раза, будет 0.3 сек. А так, если я правильно понимаю в IN вы каждый раз обходите таблицу table1, но 7000 записей для базы это фигня какая то, запустите EXPLAIN

melkozaur:
Оптимизайка,
Да в жопу этот отдельный файл, эти константы и всех, кто придумывает различные извращения.
Я умею пользоваться поиском.
CSS - это то, что возможно потом будут переделывать другие.

Там много других плюшек: модульность, повторное использование кода, наследование и так далее. Вы пробовали делать адаптивные сайты? Прикольно переделывать все media с 990px на 991px?

CSS - это такая штука, если квалификации нехватает, делаем custom.css и подключаем ниже основного и делаем там свой огород, дабы стили каскадные.

Ragnarok:
смотрел его, но смущает что он по производительности не очень.

Вы же должны понимать, что это попугаи? У меня на виртуалочке за 250р/м проект (>120 000 номенклатура - автозапчасти) на Yii держит эталонный тест в ~2500 запросов в секунду и то мне кажется это было ограничение железа с которого шел тест, потому что сайт даже не поперхнулся.

Но хозяин барин конечно, если учесть что php, да и все интерпритируемые языки с понятием скорости в принципе не дружат, тот тут (в сфере веб разработок) обычно выбирают по другим параметрам 😂

Дикий пионер:
В silex модели надо будет самому прикручивать, в комплекте там роутер да DIC только. View на основе твига несложно прикручиватеся, но по сути, это тоже не в комплекте.
еще наподобие silex - только еще проще https://github.com/klein/klein.php

Таких middleware framework'ов довольно много, сайлекс построен на компонентах symfony, что говорит о простом росте если потребуется.

Модели везде надо прикручивать самому, где то уже вшитая есть реализация ORM, но тут хоть доктрину прикручивай. Тем более композер никто не отменял, а у silex нет каких либо ограничений на этот счет.

Лично у меня на слуху из таких фреймворков только 2 - это silex и slim. С певым довольно хороший опыт, со вторым дел особых не имел.

Konceptovskiy:
Кто знает двиг инфопортала нормальный рабочий на котором нормальные профили пользователей и система бонусов для начисления людям за активность?

WordPress, Joomla, Drupal - все подходят под ваше описание

А через точку с запятой не получиться

Ragnarok:
спасибо, посмотрю.
Вообще, да, нужно совсем минимально

silex и маленький и легко расширяеться в случае роста

Всего: 4110