En een ORDER BY ID voor het geval dat niet de default is.quote:Op maandag 1 december 2014 17:24 schreef KomtTijd... het volgende:
als je gewoon een query maakt met LIMIT(0,100), dan heb je dat toch?
quote:Op maandag 1 december 2014 17:24 schreef Monolith het volgende:
[..]
Je wilt dus gewoon 'de eerste 100' hebben?
Het probleem daarmee is dat er dan onnodige gegevens behouden blijven, en dat is niet wat ik wil bereiken.quote:Op maandag 1 december 2014 17:24 schreef KomtTijd... het volgende:
als je gewoon een query maakt met LIMIT(0,100), dan heb je dat toch?
Welke onnodige gegevens blijven er behouden?quote:Op maandag 1 december 2014 17:27 schreef Nattekat het volgende:
[..]
[..]
Het probleem daarmee is dat er dan onnodige gegevens behouden blijven, en dat is niet wat ik wil bereiken.
Inderdaad.quote:Op maandag 1 december 2014 17:28 schreef KomtTijd... het volgende:
Ik ben altijd groot voorstander van het zoveel mogelijk bewaren van (onnodige) gegevens. Waarom weggooien als je er geen last van hebt.
quote:Op maandag 1 december 2014 17:14 schreef KomtTijd... het volgende:
Goftedomme zeg. Moet ineens hals over kop wat klussen aan een oude applicatie (die er over een paar maanden hopelijk uit gaat), blijkt gewoon 3 kwart van de tabellen geen enkele index te hebben. Goh, dus daarom duren de queries een halve seconde
Je data kun je super makkelijk selecteren met query's, dus de hoeveelheid maakt niet zoveel uit.quote:Op maandag 1 december 2014 18:11 schreef Nattekat het volgende:
Denk dat ik die makkelijke oplossing van het niet verwijderen maar neem.
Voor mijn gevoel staat dat juist slordig, maar ik ben dan nog niet erg into de php/mysql.
Gewoon softdeleten, heeft bij mij vaak ook de voorkeur boven verwijderen.quote:Op maandag 1 december 2014 18:11 schreef Nattekat het volgende:
Denk dat ik die makkelijke oplossing van het niet verwijderen maar neem.
Voor mijn gevoel staat dat juist slordig, maar ik ben dan nog niet erg into de php/mysql.
Dat wel ja. Gelukkig loop ik nog tegen genoeg andere problemen aan om dat weer te compenserenquote:Op maandag 1 december 2014 18:09 schreef TwenteFC het volgende:
[..]Ik ben altijd wel blij als het zo iets banaals is, klik klik klik, klaar.
Het is ook niet de bedoeling dat je dagelijks via database-management tools in de database gaat kijken of je data er niet slordig uit ziet. Databases zijn er niet om er netjes uit te zien, daar heb je je queries voor.quote:Op maandag 1 december 2014 18:11 schreef Nattekat het volgende:
Denk dat ik die makkelijke oplossing van het niet verwijderen maar neem.
Voor mijn gevoel staat dat juist slordig, maar ik ben dan nog niet erg into de php/mysql.
Nou ja, het kan natuurlijk wel degelijk voor traagheid zorgen wanneer overbodige data niet wordt opgeruimd.quote:Op maandag 1 december 2014 18:19 schreef KomtTijd... het volgende:
[..]
Dat wel ja. Gelukkig loop ik nog tegen genoeg andere problemen aan om dat weer te compenseren
[..]
Het is ook niet de bedoeling dat je dagelijks via database-management tools in de database gaat kijken of je data er niet slordig uit ziet. Databases zijn er niet om er netjes uit te zien, daar heb je je queries voor.
Dit moet ik mijn baas ook nog wel eens uitleggen![]()
Gewoon MySQL workbench?quote:Op dinsdag 9 december 2014 15:20 schreef KomtTijd... het volgende:
Wat is nou een relaxte databasetool voor als je PHPMyAdmin zat begint te raken?
Webbased of linux, en een beetje eenvoudig en overzichtelijk. Heb wel eens wat met HeidiSql maar die vond ik ook irritant (en lelijk).
Alleen jammer dat het zo'n vreselijk trage en buggy applicatie is. Vind Sequel Pro ook wel fijn werkenquote:
Ik doe zelf eigenlijk erg weinig DBA werk de laatste jaren, zeker op SQL gebied. Hooguit wat met RoboMongo en dergelijke.quote:Op dinsdag 9 december 2014 16:31 schreef robin007bond het volgende:
[..]
Hier heeft het de bijnaam MySQL CrashBench gekregen.![]()
Kun je wel mooie ERD's in maken.
Waarom ben je phpmyadmin zat dan?quote:Op dinsdag 9 december 2014 16:58 schreef KomtTijd... het volgende:
Ik hoef niets ingewikkelds, moet gewoon af en toe kunnen zien wat er in de database gebeurt als ik mijn code uitvoer. Of wat testrecords verwijderen ofzo.
Op zich is PhpStorm prima, maar het zit zó ongelooflijk vol met allerhande glitches... pfft je wordt er gewoon moe van.
Leuk dat je PHPStorm wegstreept, je kan in PHPStorm je database sources toevoegen en dan heb je daar ook een autocomplete op.quote:Op dinsdag 9 december 2014 16:58 schreef KomtTijd... het volgende:
Ik hoef niets ingewikkelds, moet gewoon af en toe kunnen zien wat er in de database gebeurt als ik mijn code uitvoer. Of wat testrecords verwijderen ofzo.
Op zich is PhpStormPhpMyAdmin prima, maar het zit zó ongelooflijk vol met allerhande glitches... pfft je wordt er gewoon moe van.
1 2 3 4 5 6 7 8 9 | <?php $dirname = "fotoalbum/fotoalbum/*/"; $images = glob($dirname."*.JPG"); foreach($images as $image) { if ($image == 0) { echo '<img src="'.$image.'" />'; } } ?> |
Je checkt niet op index.quote:Op maandag 29 december 2014 21:58 schreef MrNiles het volgende:
ik wil graag uit verschillende folders 1 image halen
heb nu dit, maar dan krijg ik toch alle foto's te zien
met toevoegen van => $value kom ik er ook niet aan uit
Hie kan ik dit het beste oplossen?
[ code verwijderd ]
Value is de index. Je wil altijd alleen de eerste index hebben, dus moet je value checken op 0.quote:Op maandag 29 december 2014 22:09 schreef MrNiles het volgende:
[..]
[ code verwijderd ]
iets in deze richting?
quote:Op maandag 29 december 2014 22:10 schreef Scorpie het volgende:
[..]
Value is de index. Je wil altijd alleen de eerste index hebben, dus moet je value checken op 0.
1 2 3 4 5 6 7 8 9 10 | <?php dan zou ik verwachten zoiets $dirname = "fotoalbum/fotoalbum/*/"; $images = glob($dirname."*.JPG"); foreach($images as $image => $value) { if ($value == 0) { echo '<img src="'.$image.'" />'; } } ?> |
1 2 3 4 | <?php if ($image == 0) { echo '<img src="'.$value.'" />'; ?> |
bijna een snelle edit gedaan...heb ik dus gedaanquote:Op maandag 29 december 2014 22:22 schreef Monolith het volgende:
value => image in plaats van andersom.
dan moet je eerst een readdir doen van de root map, door de mappen loopen en per map de afbeeldingen ophalen en de eerste tonen.quote:Op maandag 29 december 2014 22:23 schreef MrNiles het volgende:
[..]
bijna een snelle edit gedaan...heb ik dus gedaan
maar dan krijg ik alleen de eerste foto van de eerste folder
Die had ik al eens geprobeerd, maar dan krijg ik een loop van foto1 uit folder1, geen andere foldersquote:
Zeker waarquote:Laat TS ff lekker kutten met arrays, anders snapt hij het nooit
https://github.com/fzaninotto/Fakerquote:Op maandag 12 januari 2015 11:44 schreef Aether het volgende:
Voor als iemand testgegevens nodig heeft:
http://www.generatedata.com/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | CREATE TABLE IF NOT EXISTS `videos` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `site_id` int(10) unsigned NOT NULL, `video_id` varchar(64) NOT NULL, `tags` varchar(255) NOT NULL, `uploaddate` datetime NOT NULL, `title` varchar(255) NOT NULL, `description` text NOT NULL, `thumbnail` varchar(255) NOT NULL, `url` varchar(255) NOT NULL, `embed` varchar(255) NOT NULL, `seconds` int(10) unsigned NOT NULL, `lastview` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `ratingcount` int(10) unsigned NOT NULL, `ratingtotal` int(10) unsigned NOT NULL, PRIMARY KEY (`id`), KEY `site_id` (`site_id`), FULLTEXT KEY `tags` (`tags`), FULLTEXT KEY `title` (`title`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7217117 ; |
1 2 | SELECT COUNT( 1 ) FROM (SELECT * FROM `videos` WHERE `tags` LIKE '%home%') t |
Ik heb zelf slechte ervaringen met zoeken in grote tabellen, zowel MyISAM als InnoDB.quote:Op donderdag 15 januari 2015 10:14 schreef Chandler het volgende:
Korte vraag mbt zoeken op grote tabellen.
Voor een vriend mag ik een importeer scriptje schrijven voor het importeren van ruim 7 miljoen videos met oa de volgende gegevens titel, tags, duur
Nu heb ik al een scriptje geschreven die dit alles importeert in een database tabel waarbij ik titel, tags als fulltext indexeer en wil apart daarvan de duur (lengte van het filmpje) ook nog gaan indexeren (zodat de gebruiker daar ook op kan zoeken)
Nu heb ik net een query uitgevoerd op deze tabel en dat duurde echt erg lang
Tabel: 7,217,116 MyISAM latin1_swedish_ci 4,8 GiB
[ code verwijderd ]
Nu duurt de volgende query:
[ code verwijderd ]
erg lang (zo'n 10 seconden).
Met limit 0,30 duurt deze query 0.0240 secs
Is er een mogelijkheid om deze query sneller te maken? eventueel tags in een apart tabel?
quote:Op donderdag 15 januari 2015 13:17 schreef Monolith het volgende:
Zoals echter al aangegeven kun je beter een search platform gebruiken als SOLR, ElasticSearch, Sphinx, etcetera.
Je kunt het iets beter krijgen door geen subquery te gebruiken:quote:Op donderdag 15 januari 2015 10:14 schreef Chandler het volgende:
Nu duurt de volgende query:
[ code verwijderd ]
erg lang (zo'n 10 seconden).
Met limit 0,30 duurt deze query 0.0240 secs
Is er een mogelijkheid om deze query sneller te maken? eventueel tags in een apart tabel?
1 | SELECT COUNT( * ) FROM `videos` WHERE `tags` LIKE '%home%' |
Da's zeker een optie die het overwegen waard is, helemaal omdat het over redelijk grote datasets gaat.quote:Op donderdag 15 januari 2015 13:17 schreef Monolith het volgende:
Zoals echter al aangegeven kun je beter een search platform gebruiken als SOLR, ElasticSearch, Sphinx, etcetera.
Die tags in een aparte tabel opslaan is alvast een stap, mits je de indexes goed zet en gebruikt.quote:Op vrijdag 16 januari 2015 08:05 schreef Chandler het volgende:
Klopt Light!
Echter heeft de hosting waar dit straks moet gaan draaien blijkbaar geen zoekplatformen of de mogelijkheid daarvoor, ik ga eerst eens spelen met tags en kijken hoe ik daar het meeste uit kan halen. Eventueel het tijdelijk opslaan van data sets... zodat hergebruik stukken sneller gaat...
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |