"The shell stopped unexpectedly and Explorer.exe was restarted."
1
| ALTER TABLE `files` ADD INDEX(file(100)) |
MySQL zal nu indexeren tot maximaal 100 karakters.
Waarom wil je dit eigenlijk? Lijkt me eigenlijk niet zo'n strak plan. Wil je snel kunnen zoeken in die column, misschien dan eens naar FULL TEXT SEARCH kijken?
Ik heb een log file waar een groot aantal files in staan, en veel dubbele. Dit wil ik in een MySQL tabel hebben, maar dan elke filename 1x voor laten komen met in een kolom verder hoevaak deze voorkomt. Maar bij het door lopen van de log files moet ik steeds kijken of deze al voorkomt in de tabel, is dit zo, dan tel ik er 1 bij op, is dit niet zo dan voeg ik hem toe.
Maar omdat het om veel data gaat moet dit uiteraard zo snel mogelijk.
Ik dacht dat dit een snelle manier was, maar als iemand een betere heeft hoor ik dit graag.
"The shell stopped unexpectedly and Explorer.exe was restarted."
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
"The shell stopped unexpectedly and Explorer.exe was restarted."
Is hier echt geen mogelijkheid voor binnen mysql?
voor de duidelijkheid: dit is wat ik geprobeerd heb:
1
| CREATE UNIQUE INDEX DiskPath ON table (Disk(25),PathAndFile(255)); |
(PathAndFile is een TEXT kolom)
Dit werkt, maar zodra ik een groter getal voor PathAndFile opgeef gaat het fout. En zo heb ik er niets aan
Ik zat zelf aan een md5 hash te denken, maar het zou daarmee natuurlijk kunnen gebeuren dat twee verschillende paths dezelfde hash opleveren. En dat mag uiteraard niet.
Iemand een idee?
[ Voor 19% gewijzigd door marty op 18-01-2006 15:03 ]
als je een hash van je berg data maakt en een volgnummer als int in een ander veld doet dan?marty schreef op woensdag 18 januari 2006 @ 14:57:
Ik zit met precies hetzelfde probleem en nutteloos is het in mijn geval zeker niet. Ik wil inderdaad het volledige path opslaan en heb in een andere kolom de drive-letter staan. Nu probeerde ik een UNIQUE INDEX te zetten over die twee kolommen, maar krijg precies dezelfde error. (het moge duidelijk te zijn dat ik op die manier wil waarborgen dat er geen dubbele entries in de database komen)
Is hier echt geen mogelijkheid voor binnen mysql?
Ik zat zelf aan een md5 hash te denken, maar het zou daarmee natuurlijk kunnen gebeuren dat twee verschillende paths dezelfde hash opleveren. En dat mag uiteraard niet.
Iemand een idee?
gooi je je PK op 2 velden
[ Voor 7% gewijzigd door BasieP op 18-01-2006 15:01 ]
This message was sent on 100% recyclable electrons.
Verwijderd
De data moet erg vaak automatisch geupdate worden. en dubbele entries moeten er op die manier gewoon buiten vallen. en het zijn teveel records om allemaal distinct queries uit te gaan voeren