Реклама на сайте Advertise with us

Мускуль: проблема с подсчетом строк

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

Самый добрый бегемот

С нами с 24.06.03
Сообщения: 954
Рейтинг: 574

Ссылка на сообщениеДобавлено: 17/12/06 в 19:21       Ответить с цитатойцитата 

Приветствую. Необходимо подсчитать сколько повторений встречается в определенной части таблицы. Т.е., например, есть таблица со значениями столбца: anal sex, anal sex, free porn, lesbians и т.д. в результате нужно узнать сколько раз какое значение встречается
Делаю так:
Код:
select fieled1,count(*) from tablename group by field1 limit 0,10

Дождаться выполнения такого запроса не хватило терпения. Машина coreduo 2 гига памяти, CentOS 4, mysql 4.1.11
Подскажите как можно реализовать?
всем рейтинг icon_smile.gif

0
 



С нами с 14.11.05
Сообщения: 56
Рейтинг: 177

Ссылка на сообщениеДобавлено: 17/12/06 в 19:47       Ответить с цитатойцитата 

Попробуй так:
Код:
SELECT field1, sum( 1 ) FROM tablename GROUP BY field1 LIMIT 0 , 30

4
 



С нами с 19.02.03
Сообщения: 1284
Рейтинг: 354

Ссылка на сообщениеДобавлено: 17/12/06 в 19:47       Ответить с цитатойцитата 

а сколько строк в таблице?
это опечатка, или нет:
SELECT fieled1, count(*) FROM tablename GROUP BY field1 LIMIT 0,10 ?

4
 

Самый добрый бегемот

С нами с 24.06.03
Сообщения: 954
Рейтинг: 574

Ссылка на сообщениеДобавлено: 17/12/06 в 19:50       Ответить с цитатойцитата 

это очепятка icon_smile.gif
реально строк в таблице около 40 миллионов, поэтому и хочу частями считать icon_smile.gif
2 lalex: ща попробую, пасиб

0
 



С нами с 19.02.03
Сообщения: 1284
Рейтинг: 354

Ссылка на сообщениеДобавлено: 17/12/06 в 19:50       Ответить с цитатойцитата 

atrius писал:

Код:
select fieled1,count(*) from tablename group by field1 limit 0,10

а вообще хз, этот sql должен работать правильно

0
 



С нами с 19.02.03
Сообщения: 1284
Рейтинг: 354

Ссылка на сообщениеДобавлено: 17/12/06 в 20:01       Ответить с цитатойцитата 

вобщем что я думаю
если там 40 лямов то все правильно он тебе будет очень долго это все обсчитывать потому как сначала происходит групировка по group by а только потом limit по результатам групировки. Так что он сначала гурипирует все 40 лямов... это долго судя по всему icon_smile.gif
если не хочешь ждать до конца, а хочешь обсчитывать по частям то разбивай выборку на части через WHERE а не через limit

4
 

Самый добрый бегемот

С нами с 24.06.03
Сообщения: 954
Рейтинг: 574

Ссылка на сообщениеДобавлено: 17/12/06 в 20:11       Ответить с цитатойцитата 

да чтобы через where делать надо добавить поле id.
подскажешь как сделать в уже созданной таблице еще одно поле и проставить там соответствующие возрастающие значения?

0
 



С нами с 19.02.03
Сообщения: 1284
Рейтинг: 354

Ссылка на сообщениеДобавлено: 17/12/06 в 20:14       Ответить с цитатойцитата 

Код:
ALTER TABLE tablename  ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ;


а вообще у тебя по тому полю, по которому групировка проходит индекс стоит?

4
 

Самый добрый бегемот

С нами с 24.06.03
Сообщения: 954
Рейтинг: 574

Ссылка на сообщениеДобавлено: 17/12/06 в 20:15       Ответить с цитатойцитата 

ща попробую добавить, спасибо.
Индекс конечно сделан по поля, которое в select group by учавствует
попробовал: не быстро добавляется так icon_smile.gif
ждемс....

0
 



С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362

Ссылка на сообщениеДобавлено: 18/12/06 в 05:12       Ответить с цитатойцитата 

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

0
 

Милитарист

С нами с 13.01.06
Сообщения: 677
Рейтинг: 569

Ссылка на сообщениеДобавлено: 18/12/06 в 05:22       Ответить с цитатойцитата 

Пастуховская база пошла в работу? icon_smile.gif

подкаст для тех кто в бизе: https://anchor.fm/hibrokakbiz

0
 

Самый добрый бегемот

С нами с 24.06.03
Сообщения: 954
Рейтинг: 574

Ссылка на сообщениеДобавлено: 18/12/06 в 07:25       Ответить с цитатойцитата 

ну почти icon_smile.gif
у него вроде интерфейс и так приличный есть icon_smile.gif
но близко, очень близко icon_smile.gif

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »