помоему человек незнает чего он хочет, может достаточно обычного хостинга за 5 баксов в месяц? )) Хостинги тоже анлимит дают, может и 2 месяца можно продержаться)
у меня тоже всё выпало уж как 2 дня )
Убрали LIKE '%xxx%' стало легче жить )
Слава Шевцов,
почему первое быстрее?
разве не самым быстрым является запрос по primary id?
я имею ввиду если сравнивать обычный индекс где номера повторяются и примари где все разные и упорядочены...
попробую потестировать)
... и действительно, первый запрос быстрее, и чем больше значений в IN тем больше требуется времени на выполнение запроса.
1000 рандом селектов за 1 сек из милионной базы.
Спасибо, буду разбираться.
Ещё такой вопрос по запросу на несколько таблиц
первая таблица users
вторая например fotos id(primary), user(index)
что эффекивнее, всем привычное
select * from fotos where user='$user[id]'
или
select * from fotos where id IN ($user[fotos])
где $user[fotos] список ИД фотографий(хранящийся в базе users) например 12,323,546,342 - скажем так до 50 фото
просто ведь если в базе, допустим 10млн записей с фото, то и пройтись по такому индексу тоже не просто.. а так получается сразу в запрос идут ID.
Кто знает, буду благодарен за ответ)
Ну я бы так не говорил, просто в полях name, lastname могут быть по 2 имени (как бы русский и англ. вариант)
Конечно тут логичнее тогда добавить по полю чем использовать LIKE.
По поводу индексов, если ставить их на практически все поля, разве не будет база очень большой по размеру и не приведёт ли это к дополнительным тормазам, ведь при изменении/добавлении данных все индексы должны быть переписанны. (хотя скорее всего это происходит без проблем)
antono, по ID другие запросы и их намного больше, но думаю тормаза из за поиска по критериям..
Спасибо за ответы! Есть пища для размышления)
Насчёт поиска по текстовым полям, впринцепи этих запросов не мало)
Привожу пример таблички и запрос на поиск.. впринцепи это обычная база пользоватей и поиск по ней.
OS Linux Suse
CREATE TABLE IF NOT EXISTS `tb_users` (
`id` int(10) NOT NULL auto_increment,
`email` varchar(100) NOT NULL default '',
`pass` varchar(13) NOT NULL default '',
`sess` varchar(32) NOT NULL default '',
`expire` tinyint(1) NOT NULL default '0',
`last_visit` int(10) NOT NULL default '0',
`last_ip` varchar(15) NOT NULL default '',
`ok` tinyint(1) NOT NULL default '0',
`foto` int(10) NOT NULL default '0',
`name` varchar(30) NOT NULL default '',
`lastname` varchar(30) NOT NULL default '',
`mw` int(1) NOT NULL default '0',
`born` bigint(10) NOT NULL default '0',
`state` int(1) NOT NULL default '0',
`country` int(3) NOT NULL default '0',
`city` varchar(30) NOT NULL default '',
`text` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
select * from `tb_users`where 1 and name LIKE '%тест%' and lastname LIKE '%тест%' and mw='1' and born<'826498800' and state='2' and country='20'
my.cnf скину позже..
такую статистику бы для маил.ру и яндекса с целью совместной борьбы против ддоса, но думаю это им не нужно )
представляю, заходит человек проверить почту на майле и ему пишет, ваш комп используют для атаки и т.д. .. это было бы влиятельно ))
И меня выкинули, хотя скорее всего потому что мой фаер забанил 2 IP яндекс ботов )
уж больно активные они =)
Интересно кто победит, если стравнить
AMD Opteron Dual Core 1212
AMD Athlon 64 Dual Core 5600+/6000+
PS. по этим AMD нигде неудаётся нормальный тестов и сравнений найти..
неуверен на 100%, но раид немного медленее несмотря на надёжность и стабильность..
также раид при аренде сервера обходится на 10-20$/месяц дороже,
ну везде конечно поразному)