Dimanych

Рейтинг
155
Регистрация
05.06.2007

помоему человек незнает чего он хочет, может достаточно обычного хостинга за 5 баксов в месяц? )) Хостинги тоже анлимит дают, может и 2 месяца можно продержаться)

у меня тоже всё выпало уж как 2 дня )

Убрали LIKE '%xxx%' стало легче жить )

Слава Шевцов,

select * from fotos where user='$user[id]'
или
select * from fotos where id IN ($user[fotos])

почему первое быстрее?

разве не самым быстрым является запрос по 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.

Кто знает, буду благодарен за ответ)

Слава Шевцов:
Dimanych, плохо написан запрос. У программиста кривые руки.

Ну я бы так не говорил, просто в полях 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$/месяц дороже,

ну везде конечно поразному)

Всего: 830