1 2 3 4 5 6 | explain SELECT SQL_NO_CACHE `video_id` FROM `video_tag_link` WHERE `tag_id` = 2721 OR `tag_id` = 245 GROUP BY `video_id` HAVING COUNT(`video_id`) = 2 LIMIT 0, 20 |
1 2 3 4 5 6 | CREATE TABLE `video_tag_link` ( `video_id` int(11) NOT NULL, `tag_id` int(11) NOT NULL, PRIMARY KEY (`tag_id`,`video_id`), KEY `video_id_index` (`video_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
1 2 3 4 5 6 | CREATE TABLE `video_tag_link` ( `video_id` int(10) unsigned NOT NULL, `tag_id` int(10) unsigned NOT NULL, PRIMARY KEY (`tag_id`,`video_id`), KEY `video_id` (`video_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;[ |
Mja, met 'krijg een -1 van de storage engine' kan ik niet zo veel.quote:Op dinsdag 17 februari 2015 13:13 schreef Chandler het volgende:
Ik heb
[ code verwijderd ]
27,400,090 rows, MyISAM, latin1_swedish_ci, 952,3 MiB
En krijg dan met dezelfde query als hierboven Using where; Using index; Using temporary; Using filesort
-edit-
Inderdaad MyIsam, heb gepoogd InnoDB te gebruiken maar heb daar vele problemen mee om de data in te voeren op juiste manier zonder fouten...
-edit2-
En het tabel omzetten naar InnoDB wil MySQL niet Krijg een -1 van de storage engine...
quote:Op dinsdag 17 februari 2015 13:13 schreef Chandler het volgende:
Ik heb
En het tabel omzetten naar InnoDB wil MySQL niet Krijg een -1 van de storage engine...
http://www.percona.com/do(...)mporting_tables.htmlquote:If you see the following message, then you must enable innodb_file_per_table and create the table again: ERROR 1030 (HY000): Got error -1 from storage engine
Voor archieven wordt het nog wel gebruikt. Kost stuk minder ruimte qua opslag.quote:Op dinsdag 17 februari 2015 14:58 schreef KomtTijd... het volgende:
Volgens mij heb ik nog nooit anders dan InnoDB gebruikt? Ik dacht dat MyIsam een beetje ouderwets was?
Wat zegt select * from video_tag_link je? en hoe ziet die tabel eruit?quote:Op dinsdag 17 februari 2015 18:01 schreef Chandler het volgende:
Helaas niet, want alle data in de myisam tabel is uniek en zou dus geen probleem moeten opleveren... heb al een uurtje zitten googlen maar kan geen 'oplossing' hiervoor vinden...
1 2 3 4 5 6 | CREATE TABLE IF NOT EXISTS `video_tag_link` ( `video_id` int(10) unsigned NOT NULL, `tag_id` int(10) unsigned NOT NULL, PRIMARY KEY (`tag_id`,`video_id`), KEY `video_id` (`video_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | INSERT INTO `video_tag_link` (`video_id`, `tag_id`) VALUES (1, 1), (2, 1), (3, 1), (4, 1), (5, 1), (6, 1), (7, 1), (8, 1), (9, 1), (10, 1), (11, 1), (13, 1), (15, 1), (17, 1), (18, 1), (19, 1), (20, 1), (21, 1), (22, 1), (23, 1), (25, 1), (26, 1), (27, 1), (29, 1), (30, 1), (31, 1), (32, 1), (33, 1), (35, 1), (36, 1); |
1 2 3 4 5 6 | SELECT SQL_NO_CACHE `video_id` FROM `video_tag_link` WHERE `tag_id` = 2721 OR `tag_id` = 245 GROUP BY `video_id` HAVING COUNT(`video_id`) = 2 LIMIT 0, 20 |
1 2 3 4 5 6 7 8 9 10 | 1 SIMPLE video_tag_link range PRIMARY,video_id PRIMARY 4 NULL 6480 Using where; Using index; Using temporary; Using filesor |
Deze post uit het vorige topic verdient ook nog wel even een reactie aangezien het concept 'index' in deze reeks vaak niet echt begrepen lijkt en men enkel weet dat 'queries er sneller van worden', zonder het wat en waarom van een index te snappen. Deze site heeft wel prima verdere uitleg.quote:Op maandag 16 februari 2015 23:14 schreef raptorix het volgende:
[..]
Volgens mij heeft een index geen zin op een integer, maar daar twijfel ik even over, of dat puur op numeriek is of een autoID (bestaat dat in MySql?)
1 2 3 4 | <select name="divisie" form="divisieform"> <option value="1">Super lig</option> <option value="2">2. Lig</option> </select> |
Thx, ik kende deze theorie wel, ik weet niet hoet met mysql zit, maar in sqlserver kun je bij een index ook een fragmentation rate aangeven. Gebruik je niet heel vaak, maar met name wanneer performance belangrijk is valt er wel mee te tunen.quote:Op woensdag 18 februari 2015 09:46 schreef Monolith het volgende:
[..]
Deze post uit het vorige topic verdient ook nog wel even een reactie aangezien het concept 'index' in deze reeks vaak niet echt begrepen lijkt en men enkel weet dat 'queries er sneller van worden', zonder het wat en waarom van een index te snappen. Deze site heeft wel prima verdere uitleg.
Voor read only kun je tegenwoordig dan weer beter noSQL databases gebruiken doorgaans qua performance.quote:Op woensdag 18 februari 2015 18:39 schreef raptorix het volgende:
[..]
Thx, ik kende deze theorie wel, ik weet niet hoet met mysql zit, maar in sqlserver kun je bij een index ook een fragmentation rate aangeven. Gebruik je niet heel vaak, maar met name wanneer performance belangrijk is valt er wel mee te tunen.
Zelf heb ik in verleden veel aan Funda gewerkt, met name aan de eerste versies heb ik veel aan de search gewerkt dus wel bekend met tuning
De eerste versie van Funda was ook een readonly database, dat scheelt je al snel 30 procent performance omdat zodra een database in readonly is, hij geen rekening hoeft te houden met locking of aangepaste indices.
Fragmentatie is volgens mij in deze betekenis de mogelijkheden om je index te updaten, zoals ik het altijd begrepen hebt werkt het net als in papieren index dat je meer ruimte hebt om wijzigingen te doen (wat uiteraard wel ten koste gaat van meer opslag, en dus performance).quote:Op woensdag 18 februari 2015 19:09 schreef Monolith het volgende:
[..]
Voor read only kun je tegenwoordig dan weer beter noSQL databases gebruiken doorgaans qua performance.
Fragmentatie is de mate waarin je index verspreid is over je opslag. Hoe meer fragmentatie, des te trager het gebruik van de index.
Nee, dat is een ander concept, fragmentatie heeft te maken met logische versus fysieke ordening, waardoor het lezen van de schijf trager gaat.quote:Op woensdag 18 februari 2015 20:03 schreef raptorix het volgende:
[..]
Fragmentatie is volgens mij in deze betekenis de mogelijkheden om je index te updaten, zoals ik het altijd begrepen hebt werkt het net als in papieren index dat je meer ruimte hebt om wijzigingen te doen (wat uiteraard wel ten koste gaat van meer opslag, en dus performance).
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |