|
Страници по тази тема: 1 | 2 | >> (покажи всички)
Тема
|
Re: MySQL- bavno query
[re: salle]
|
|
Автор | x (Нерегистриран) |
Публикувано | 03.04.03 17:34 |
|
SELECT COUNT(*) FROM docinfn WHERE word_id IN (1,2,3);
+----------+
| COUNT(*) |
+----------+
| 102499 |
+----------+
1 row in set (0.34 sec)
SELECT COUNT(*), COUNT(DISTINCT word_id), COUNT(DISTINCT cl0), COUNT(DISTINCT doc_id) FROM docinfn;
+----------+-------------------------+---------------------+------------------------+
| COUNT(*) | COUNT(DISTINCT word_id) | COUNT(DISTINCT cl0) | COUNT(DISTINCT doc_id) |
+----------+-------------------------+---------------------+------------------------+
| 26481240 | 802396 | 211999 | 200000 |
+----------+-------------------------+---------------------+------------------------+
1 row in set (18 min 45.17 sec)
| |
Тема
|
Re: MySQL- bavno query
[re: salle]
|
|
Автор | x (Нерегистриран) |
Публикувано | 03.04.03 18:24 |
|
EXPLAIN SELECT doc_id, SUM(weight)
-> FROM docinfn
-> WHERE (word_id IN (541, 646, 345, 2446, 3430, 4430, 5451, 245, 245, 349, 1420, 2435, 1434, 2445, 3456, 4467, 547,6749))
-> GROUP BY doc_id
-> ORDER BY 2 DESC
-> LIMIT 100;
+---------+-------+---------------+---------+---------+------+-------+---------------------------------------------+
| table | type | possible_keys | key | key_len | ref | rows | Extra |
+---------+-------+---------------+---------+---------+------+-------+---------------------------------------------+
| docinfn | range | word_id | word_id | 4 | NULL | 78168 | where used; Using temporary; Using filesort |
+---------+-------+---------------+---------+---------+------+-------+---------------------------------------------+
1 row in set (0.20 sec)
Kato pusna Primary Key(word_id, doc_id) i tyrseneto slabo se vloshava a za INSERT-ite znaesh kak vliae Primary Key.
| |
Тема
|
Re: MySQL- bavno query
[re: x]
|
|
Автор |
salle (минаващ) |
Публикувано | 03.04.03 20:33 |
|
Ами при това разпределение мисля, че решението (без преструктуриране) е еднозначно
CREATE TEMPORARY TABLE temp SELECT * FROM docinfn WHERE word_id IN (1,2,3);
Виж колко голяма става тази таблица като байтове защата ако можеш да използваш TYPE=HEAP още по-добре.
SELECT FROM temp ... всичко останало.
при това положение ако нямаш други заявки в оригиналната таблица оставяш САМО този индекс
Вместо SELECT ... можеш да го разбиеш на още стъпки примерно:
DELETE FROM temp WHERE cl0 < 50;
DELETE FROM temp WHERE cl0 > 50;
това обаче ще е по-бързо ако създаваш временната таблица с индекс и тя НЕ Е HEAP (защото HEAP преди 4.1 поддържат само
HASH индекси а те не стават за >, <
SELECT ...
Обаче генералното решение е да разбиеш таблицата вертикално на по-малки таблици защото тогава задачката ти ще бъде за JOIN и индексите ще работят по-добре .... може би разбира се :)
Разбира се ще ти се усложнят нещата при всяко писане в таблиците.
Честно казано не очаквах чак 26 милиона реда
А колко е като обем това нещо? Може да се окаже, че има какво да се пипне по настройките.
Каква ти е версията между другото?
| |
Тема
|
Re: MySQL- bavno query
[re: x]
|
|
Автор |
salle (минаващ) |
Публикувано | 03.04.03 20:39 |
|
И вземи пиши на кирилица, че се вбесявам.
Ще взема да го засека някой ден но един и същ текст на кирилица се чете около 30-40 пъти по бързо ... а времето е пари все пак.
| |
Тема
|
Re: MySQL- bavno query
[re: salle]
|
|
Автор | x (Нерегистриран) |
Публикувано | 06.04.03 17:35 |
|
mysql Ver 11.16 Distrib 3.23.49, for unknown-linux-gnu (alphaev6)
-rw-rw---- 1 mysql mysql 979805880 Mar 11 14:02 docinfn.MYD
-rw-rw---- 1 mysql mysql 1646059520 Mar 11 14:36 docinfn.MYI
-rw-rw---- 1 mysql mysql 8750 Mar 11 14:00 docinfn.frm
| |
Тема
|
Re: MySQL- bavno query
[re: salle]
|
|
Автор | x (Нерегистриран) |
Публикувано | 06.04.03 17:39 |
|
Не съм писал на кирилица от 2 години насам. Много рядко (веднъж на месец а може и по-малко) ми се налага да говоря български.
| |
Тема
|
Re: MySQL- bavno query
[re: x]
|
|
Автор |
Topбaлaн (любопитко) |
Публикувано | 06.04.03 21:35 |
|
тъкмо няма да забравяш как се пише на кирилица..))
| |
Тема
|
Re: MySQL- bavno query
[re: salle]
|
|
Автор | Zyl Oiliuff (Нерегистриран) |
Публикувано | 07.04.03 17:41 |
|
http://www.metodii.com/
| |
|
Страници по тази тема: 1 | 2 | >> (покажи всички)
|
|
|