LEOnidUKG

LEOnidUKG
Рейтинг
1776
Регистрация
25.11.2006
Должность
PHP
Интересы
Программирование

ТС, при чём тут вообще IP?

kvins, вы наверное отстали от современной жизни и новостей о железе. Сейчас не IBM 386, а 16 ядерные "ДУРЫ" каждое из которых по 3,6 ГГЦ. А жестаки в RAID, даже не SSD, просто летают. И ваши 10 выборок, это 0,00001 секунда.

Так же не забывайте, что везде стоят кэши:

1. Кэш на запросы в мускуль

2. Кэш PHP файлов

3. Кэш самих страниц полностью

iguania:
Скорее всего, отрицательно будет влиять.

Почему?

10 почему :)

-1 к карме :D

kvins:
а че есть такие базы? ето на каких сайтах ?

http://www.mysql.ru/webboard/index.html?n1=2937&n2=2

Кол-во таблиц и количество записей не лимитируются.
Кол-во таблиц myisam зависит от ограничения ОС в размещении нужного количества файлов (кол-во таблиц * 3) и от объема несущих дисков.
Для InnoDB - это ограничение на размер одного файла, но можно создавать сколько угодно файдов для хранения. Объем ограничивается размером дисков.
Количество записей в одной таблице ограничивается объемом несущих дисков для любого типа таблиц. Для InnoDB можно разбивать базу и таблица будет занимать место в нескольких базах. В MyIsam можно разбивать таблицу на несколько и пользоваться таблицей merge для просмотра всей таблицы. Размер одной таблицы ограничивается максимаьным размером файла в ОС.

т.е. никаких ограничений нет. А такие базы используются, даже на очень крупных сайтах. 1 ГБ это нормальная база варезника, которому года 3-4 :)

digwnews:
sabotage, наверное, под мб подразумевается "может быть"

Ну и что что 40 столбцов то? Иногда это лучше, чем 10 JOIN. Хотя ДА, по правилам БД это не правильно... все данные должны быть по разным табличкам, у них должен быть ID, может быть даже составной и он должен все таблички собирать в 1 уникальную и не ДАЙ боже будет, где дублирование данных, лабу не зачтут 😂

kvins, никакой оптимизации вам не надо. Главное проставьте индексы, где надо и всё.

Когда у вас будет база весить более 5 ГБ и там будет более 10 млн. записей, ну можно подумать, чтобы её лишний раз не тревожить :)

BasePelleta:
Можно ли пример кода для аналогии?

Сначала считывайте в переменную $mass все ID из таблицы запросом.

//Потом делайте:

array_shift($mass); //Это перемешает массив.

//Потом выбираем ID

for($i=0;$i<СКОЛЬКО_НУЖНО;$i++)

{

$tmp=$mass[$i];

}

//Теперь через запятую их складываем

$zap=implode(',',$tmp);

//И делаем запрос, вместо rand()

.... WHERE id IN ($zap)....

Теперь у нас в ответке будет сколько нужно случайных строк.

вот еще, нельзя выбрать все ссылки

Исправлено.

хотя можно даже без цикла...

Просто берёте все ID в массив, перемешиваете и берёте первых 3-10 элемента.

:)

Всего: 31516