Вопрос : Как я оптимизирую эти вопросы MySQL

Я использую PHP & MySQL в моем веб-приложение:

1. Было бы свободно инструментом, котор нужно помочь мне найти вне плохое queries

2. Мой узловой вопрос: Здесь вопросы, котор я использую и я хочу суметь как оптимизировать их:

1. ВЫБИРАЕТ od.id КАК orgdetailsid, od.departmentid, od.teamleaduserid,
(ОТБОРНОЕ u.ufname КАК orgfname ОТ потребителей u ГДЕ u.uid=od.orgid) КАК orgfname,
(ОТБОРНОЕ u.ulname КАК orglname ОТ потребителей u ГДЕ u.uid=od.orgid) КАК orglname,
u.ufname КАК teamleadfname, u.ulname КАК teamleadlname, u.uemail, organization_details od
FROM dd.department_name, department_details dd, потребители u ГДЕ
AND dd.status='Y od.status='Y И ЗАКАЗ od.teamleaduserid=u.uid И dd.id=od.departmentid department_name;

2. ВЫБИРАЕТ profile_of, (ОТБОРНОЕ department_name ОТ department_details ГДЕ id=profile_of) КАК Department_Name,
COUNT (*) ViewCount ОТ view_profile_count ГДЕ STATUS='Y И "
GROUP dept_profile " profile_type= profile_of ЗАКАЗОМ ViewCount DESC;

3. ВЫБИРАЕТ u.ufname КАК ufname, u.ulname КАК ulname, u.uid, u.ualias, u.uemail, u.upPhone, u.umobileno, u.location, DATE_FORMAT (STR_TO_DATE (u.GoLive, «%m/%d/%Y "), «%M %D ") КАК GoLive, DATE_FORMAT (STR_TO_DATE (u.GoLive, «%m/%d/%Y "), «%m/%d ") КАК Go_Live_Format, dd.id КАК department_id, dd.department_name, dd.department_email, od.teamleaduserid, tl.ufname КАК teamlead_fname, tl.ulname КАК teamlead_lname, anization_details_id um.org, um.id КАК users_master_id, um.user_role КАК users_master_role, um.backup_user1, um.backup_user2, um.backup_user3, um.backup_user4, um.backup_user5, um.backup_area1, um.backup_area2, um.backup_area3, um.backup_area4, um.backup_area5 ОТ department_details dd, потребителей tl, потребителей u, organization_details od, users_master um ГДЕ anization_details_id = od.id И od.departmentid = dd.id И um.userid = u.uid И tl.uid = od.teamleaduserid И u.uid = $emp_id»;

4. ВЫБИРАЕТ u.ufname КАК ufname, u.ulname КАК ulname, u.ualias, u.uid, u.location, DATE_FORMAT (STR_TO_DATE (u.GoLive, «%m/%d/%Y "), «%m ") КАК Birth_Month, DATE_FORMAT (STR_TO_DATE (u.GoLive, «%m/%d/%Y "), «%d ") КАК Birth_Day ОТ потребителей u ГДЕ ПРЕДЕЛ 1 u.uid = $emp_id;

5. ВЫБИРАЕТ uid, ufname, ulname, uemail, DATE_FORMAT (STR_TO_DATE (GoLive, «%m/%d/%Y "), «%b %d ") КАК ptDob, DATE_ADD (день CURDATE (), ИНТЕРВАЛА 10), (DAYOFYEAR (DATE_ADD (CURDATE (), день ИНТЕРВАЛА 10))- DAYOFYEAR (STR_TO_DATE (GoLive, «%m/%d/%Y "))) ОТ потребителей ГДЕ delFlag='0 И UserType В (2) И (DAYOFYEAR (DATE_ADD (CURDATE (), день ИНТЕРВАЛА 10))- DAYOFYEAR (STR_TO_DATE (GoLive, «%m/%d/%Y "))) МЕЖДУ ЗАКАЗОМ 1 И 10 МИМО (DAYOFYEAR (DATE_ADD (CURDATE (), день ИНТЕРВАЛА 10))- DAYOFYEAR (STR_TO_DATE (GoLive, «%m/%d/%Y "))) DESC

6. ВЫБИРАЕТ u.uid КАК EmployeeId, u.ufname КАК FirstName, u.ulname КАК LastName, u.upPhone КАК DeskPhone, u.umobileno КАК мобильный телефон, u.uemail КАК электронная почта, u.location КАК положение, munication_mode ud.com КАК CommunicationMode, ud.sparkid КАК SparkId, ud.secondary_email КАК SecondaryEmail, dd.department_name КАК DepartmentName, um.user_role КАК UserRole ОТ users_master um, dd department_details, organization_details od, ЫЕ потребители u СОЕДИНЯЮТ ud users_details НА ud.userid=u.uid ГДЕ u.delFlag='0 И u.UserType = ' 2 ' И u.status=0 И anization_details_id=od.id u.uid=um.userid И um.org И ЗАКАЗ dd.id=od.departmentid u.ufname;

class=

Ответ : Как я оптимизирую эти вопросы MySQL

Вы можете использовать объясняете для того чтобы получить план исполнения для вашего вопроса.
Вы используете phpmyadmin, оно могл быть полезн в восстановлять историю состояния также, как несколько параметров от сервера mysql и обеспечивает некоторые предложения на как улучшить представление путем регулировать некоторые параметры?

В вопросе 1 и 2 соединять мог быть более лучшим.

i.e. выберите u.ulname КАК orglname, u.ufname как orgfname, od.id как detailsid… от. соедините потребителя u на (u.uid=od.orgid)

Без определения таблицы т.е. что индексы вы имеете для каждой таблицы, etc. трудно проанализировать вопрос для того чтобы предложить улучшения.
i.e. если ваши таблицы не имеют никакие главным образом ключей ни индексы, то добавлять indicies быстро прошл бы вверх по процессу.

Using unixtime штемпелю для полей даты против шнура может также быстро пройти вверх по вопросам/обрабатывая т.е. вас не было бы нужно преобразовать шнур к дате и после этого обрабатывать/высчитайте.
10 дней 864000 секунд. такие что добавлять 864000 к колонке unixdate и после этого преобразовывать выход к шнуру в Кодем php во время индикации будут более лучшей пользой ресурсов по сравнению с иметь ваши изменения индикации быть сделанным на моем дали сервере sql, котор что вы все еще будете делать некоторое обрабатывая на стороне php во время индикации т.е. кладя вне данные от вопроса в определенной форме по сравнению с как раз сбрасывать вне результаты как незашифрованный текст.

Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us