Консультация № 37213
10.03.2006, 20:51
0.00 руб.
0 1 1
Zdravsvuyte uvagaemie eksperti
Podskagite pogalusta po kakim polyam proindeksirovat tablici chtobi uvelichit skorost vipolneniya zaprosov.Ne mogu opredelit optimalniy variant. Zaprosi k baze dannix v prilogenii

Приложение:
1)SELECT *FROM users, infoLEFT JOIN sessions ON sessions.userid = users.IDWHERE users.Gender = ‘Woman‘AND ‘1988-03-10‘ > users.dateAND ‘1952-03-10‘ < users.dateAND users.ID = info.IDORDER BY users.lastlogin DESC LIMIT 0 , 10 2)SELECT *FROM users, infoLEFT JOIN sessions ON sessions.userid = users.IDWHERE users.Gender = ‘Woman‘AND ‘1988-03-10‘ > users.dateAND ‘1975-03-10‘ < users.dateAND users.Photo <>0AND users.ID = info.IDORDER BY users.lastlogin DESC LIMIT 0 , 10 3)SELECT *FROM users, infoLEFT JOIN sessions ON sessions.userid = users.IDWHERE users.Gender = ‘Woman‘AND ‘1988-03-10‘ > users.dateAND ‘1975-03-10‘ < users.dateAND users.Photo <>0AND users.LocationID =3AND users.ID = info.IDORDER BY users.lastlogin DESC LIMIT 0 , 10 4)SELECT *FROM users, infoLEFT JOIN sessions ON sessions.userid = users.IDWHERE users.Gender = ‘Woman‘AND ‘1988-03-10‘ > users.dateAND ‘1975-03-10‘ < users.dateAND users.LocationID =4AND users.EmploymentID =3AND ( 2.99 < feetinches ) AND ( 8.111 > feetinches ) AND info.BuildTypeID =3AND info.EyeColorID =3AND info.HairColorID =3AND info.EthnicityID =3AND info.ReligionID =8AND info.MaritalStatusID =4AND info.LivingArrangementID =2AND users.ID = info.IDORDER BY users.lastlogin DESC LIMIT 0 , 10 v poslednem zaprose v WHERE usloviya info.BuildTypeID =3, info.EyeColorID =3, info.HairColorID =3, info.EthnicityID =3 i.t.d mogut prisustvovat ili net v zavisimosti ot vibora polzovatelya

Обсуждение

Неизвестный
10.03.2006, 22:02
общий
это ответ
Здравствуйте, Emilas!
Вопрос некорректный, создание индексов это исскуство и опыт.

Для твоего случая неизвестно какое количество записей в таблице, какое количество записей возвращает запрос.
Одно могу сказать выборку по дате нужно делать проще
Where users.date between ‘1952-03-10‘ and ‘1988-03-10‘

Бесполезно делать индексы, по полям, которые входят в PK ИЛИ FK - они уже созданы
users.gender тоже не подходит так как имеет только два значения

Хорошие кандидаты users.date и users.lastlogin, но их нужно пробовать на реальных данных и измерять
Форма ответа