программерское

Mar 18, 2009 01:15

Увлечение Scala можно считать серьёзным - нашёл в нёй первую ошибку (Add: и исправил, Add2: commit#17380). Очень приятный язык. Если 5 лет назад, когда я увлекался Scheme (и даже написал её компилятор в JavaScript), была возможность в одном крупном проекте использовать любые языки и средства - я всё-таки не рискнул, а сейчас в такой же ситуации ( Read more... )

it, recommend, scala

Leave a comment

Comments 26

Дао MySQL-я, постигнутое не сразу cathody March 17 2009, 23:26:40 UTC
select a.*, b.y from (a left join b on a.id = b.id) where (участвует только a) limit q, 20

писать нельзя. Нужно писать

select a.*, b.y from (( (select * from a where (условие) ) as a limit q, 20) left join b on a.id = b.id)

Reply

Re: Дао MySQL-я, постигнутое не сразу alex14san March 17 2009, 23:33:14 UTC
ещё можно select a.*,(select b.y from b where a.id=b.id) from a ...

Reply

Re: Дао MySQL-я, постигнутое не сразу cathody March 17 2009, 23:43:20 UTC
Там самый цимус в "q, 20".

Reply

Re: Дао MySQL-я, постигнутое не сразу cathody March 17 2009, 23:44:21 UTC
Второе условие читать как

"select a.*, b.y from (( (select * from a where (условие) limit q, 20 ) as a ) left join b on a.id = b.id)
(Ответить) (Ветвь дискуссии)

Reply


cathody March 17 2009, 23:27:31 UTC
Кстати, ты когда вернёшься?

Reply

alex14san March 17 2009, 23:33:37 UTC
ой, даже не спрашивай

Reply

cathody March 17 2009, 23:42:45 UTC
Всё депрессуешь? :(

Reply

alex14san March 18 2009, 00:08:43 UTC
типа того, ага

Reply


cathody March 18 2009, 00:19:04 UTC
Я в ru_highload отписал своё видение проблемы.

Reply


cathody March 18 2009, 11:01:00 UTC
Кстати, по highload-у есть задачка

Reply

alex14san March 18 2009, 16:37:28 UTC
какая?

Reply

cathody March 18 2009, 19:25:21 UTC
Текущее состояние:
1) в MySQL-е есть табличка log (serial log_id, int time, int date, char campaign, char product, char fromsearchengine, char country) , в которую пишутся хиты по странице (там 1 insert и 1 select last_insert_id), прочая информация хранится в других таблицах, присоединяемых по log_id ( соответствие many to one).

Когда табличка опухает до 2-3 млн. записей, генерация отчётов ( к примеру, взятие всех хитов в интервале [time1;time2] и группировка по campaign) занимает какое-то совсем неприличное время ~10 cек. Более изъёбистые запросы типа (взять все хиты в промежутке, сгруппировать по campaign и fromsearchengine, после чего посчитать себестоимость по табличке engine ( char campaign, char engine, double cost) радует глаз 30-40-секундной задумчивостью. Трекинг хитов при этом тоже "умирает".

Вопрос: как переписать/переделать эту хню, чтобы не тормозило? По ТЗ, система должна ставиться на виртуальный хостинг и планируемое число кликов порядка 80 000 в день "ровным слоем", а отчёты просматривает один чел?

Reply

alex14san March 18 2009, 20:44:32 UTC
1) insert на страницу - абсолютно не дело, по уму надо иметь некий буфер, в котором накапливаются данные для вставки, и периодически вставлять в базу сразу всю пачку ( ... )

Reply


mic76 March 18 2009, 20:26:55 UTC
не понял, это ты сам что-ли сделал этот ресурс nnm-club ??

Reply

alex14san March 18 2009, 20:35:54 UTC
нет, но я периодически помогаю этому ресурсу по технической части.
если самому чего-то не хватает - делаю.
если есть какая идея - всегда есть на чём попробовать.

Reply


Leave a comment

Up