![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| IgorIV |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 7.9.2009 Репутация: 2 Всего: 8 |
maximus666,
Ага, на шаред-хостинге. |
|||
|
||||
| smartov |
|
||||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 7 Всего: 259 |
Указывайте страну проживания для избежания подобных непониманий. Я думаю вам мало понравится если вам начнут объяснять научный доклад на ломанной языке той страны, где вы живете.
Вам подсказать как оптимизировать запрос на псевдо-рандомизацию? |
||||
|
|||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
smartov, мне подскажи, пожалуйста.
Что-то вроде: имеем 1кк записей, надо выбрать разных 10 типов с наименьшим значением одного из полей и случайным образом отсортировать эти записи. На лету. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| sTa1kEr |
|
|||
|
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
||||
|
||||
| smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 7 Всего: 259 |
IZ@TOP, дополнительным псевдо-рандомным полем которое обновляется раз в сутки, например.
Вот тут описывается один из вариантов http://habrahabr.ru/blogs/mysql/55864/ Случай, когда нужно получить слишком много записей по условию, и ВСЕ ИХ после выборки расставлять их в рандомном порядке не рассматривается в виду либо явного просчета проектирования. |
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Этот вариант не интересен в виду своей банальности. Обыкновенная денормализация данных (если хотите - псевдорандомное значение в отдельном поле) используется по умолчанию. Просто подумалось, что можете еще способ подсказать. О просчетах проектирования готов послушать. 1. Имеем связанные данные, которые получаем из нескольких источников. 2. Данные в нормализованном виде сохраняем в базу. 3. Предположим, что выходит две сущности (таблицы), связанных одна ко многим. Т.е. запись в первой таблице связана с неопределенным количеством записей в другой. Задача. Выбрать данные по следующему условию: 1. Записи из таблицы "одна ко многим" должны соответствовать условию поле1=значение. 2. Записи из таблицы "многие к одному" должны соответствовать нескольким условиям, вроде поле1-2=значение1-2, должны быть отсортированы по поле3, связаны с таблицей "одна ко многим" по полю поле4. 3. Данные должны быть сгруппированы по поле4 и случайным образом выбраны 20 записей из полученного результата. Требования: оригинальные данные сохранить в нормализованном виде, при денормализации и синхронизации, денормализованные данные не должны расходиться с оригинальной версией. Мне тут видится один самый простой вариант реализации. Но, если есть идеи - готов выслушать. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
Любопытно, и в итоге этих манипуляций получается 1кк записей? Что за данные там лежат, если не секрет? -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 7 Всего: 259 |
||||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
smartov, все верно. Меня все устраивает, тем более, что это было временной необходимостью вызванной восполненным сознанием руководства
Fortop, база данных вроде market.yandex.ru. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 7 Всего: 259 |
||||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
smartov, надеюсь мы его совместными усилиями хоть немного просветили
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| Muerto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1207 Регистрация: 23.9.2006 Репутация: 3 Всего: 4 |
awers, а в 22 нет никакой рандомации ,рандомация идет в объявлениях и ротаторах=-)
Добавлено @ 18:49 IgorIV, У меня VDS причем не хилый, а не шард хост... А насчет рандомации, Order by rand самый поршивый метод, после него есть функция которая по поиску допустим можете найти, как мол получить random value, но она опять же вас разочарует если у вас таблица по ID не по порядку, как у меня например... Я вот пользуюсь функцие которая как бы берет все записи, присваиваем им ID и затем уже рандомирует, решая при этом проблему пропуска А скорость очень высокая Это сообщение отредактировал(а) Muerto - 25.2.2010, 18:51 |
|||
|
||||
| IgorIV |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 7.9.2009 Репутация: 2 Всего: 8 |
||||
|
||||
| Muerto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1207 Регистрация: 23.9.2006 Репутация: 3 Всего: 4 |
IgorIV, Да CentOS стоит
|
|||
|
||||
| IgorIV |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 7.9.2009 Репутация: 2 Всего: 8 |
CentOS в глаза не видел.
Я думаю, что тебе надо определить медленные места в скрипте. А потом уже выяснять как их убыстрить. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |