sqlite row unique moeglich?

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Sirius3
User
Beiträge: 8829
Registriert: Sonntag 21. Oktober 2012, 17:20

Donnerstag 9. August 2018, 17:54

Du mußt ja gar keine 5 millionen Einträge speichern, weil der 4982345te Eintrag einfach

Code: Alles auswählen

(4982345, '0', '0', 4982344.0, 4982344.0, '0', 4982344.0, '0', '0', 0)
ist.

Du hast mein Beispiel ja verdreht. Die Reihenfolge war rote Kugel, blauer Würfel, blaue Kugel, rote Kugel und da ist der Eintrag vor der zweiten roten Kugel eine blaue Kugel und damit erkennt Dein Algorithmus eben nicht das Duplikat.
__deets__
User
Beiträge: 4034
Registriert: Mittwoch 14. Oktober 2015, 14:29

Donnerstag 9. August 2018, 17:55

Ich moechte mal sehen, wie du Code schreibst, der 5 Millionen Eintraege auf die Art generiert, wie du es jetzt tust, und dabei nicht hochgradig redundante Daten erzeugt. Oder zufaellige.

Und das ist des Pudels Kern: was du machst, hat bisher immer noch niemand verstanden. Wozu diese komischen Daten generieren? Natuerlich kann ich

daten = [(i, "takatukaland) for i in range(5000_000)]

machen. Dann habe ich halt 5 Millionen mal das Land Takatukaland identifizierbar gemacht. Warum nun aber genau das 342312 davon irgendwie manipuliert werden will, und in Tokotokaland umbenannt werden muss, erschliesst sich mir nicht.

Zusammengefasst kann diese ganze Konversation so werden: eine Datenbank garantiert dir nicht, das Daten in einer bestimmten Reihenfolge abgespeichert werden. Wenn du eine stabile Ordnung willst, kannst du die erzeugen, indem du die Erzeugungsreihenfolge benutzt. Explizit, indem du einfach die laufende Nummer davor stellst, oder primary key int verwendest. Und beim abfragen musst du dich darauf beziehen, und zB nach dem Key sortieren.
pyront
User
Beiträge: 22
Registriert: Donnerstag 28. Juni 2018, 16:04

Donnerstag 9. August 2018, 18:14

Sirius3 hat geschrieben:
Donnerstag 9. August 2018, 17:54
Du mußt ja gar keine 5 millionen Einträge speichern, weil der 4982345te Eintrag einfach

Code: Alles auswählen

(4982345, '0', '0', 4982344.0, 4982344.0, '0', 4982344.0, '0', '0', 0)
ist.

Du hast mein Beispiel ja verdreht. Die Reihenfolge war rote Kugel, blauer Würfel, blaue Kugel, rote Kugel und da ist der Eintrag vor der zweiten roten Kugel eine blaue Kugel und damit erkennt Dein Algorithmus eben nicht das Duplikat.
wie kannst du aus einem sack ziehen und dann in die vergangenheit reisen um vor der kugel eine andere zu ziehen ....

achwas bei 4,9 mio hoerts bei sqlite auf ... schade wird aber sicher reichen ...

5mio daten kein..... problem frag das wetter alle 0.000001 sekunden ab und speicher den wert mit der funktion in nem table
pyront
User
Beiträge: 22
Registriert: Donnerstag 28. Juni 2018, 16:04

Donnerstag 9. August 2018, 18:56

falls du noch die nerven hast xD mich interessiert wirklich wo die grenzen liegen...
__deets__ hat geschrieben:
Donnerstag 9. August 2018, 16:53
Deine Datenbank zB speichert die von dir angegeben Eintraege IRGENDWIE ab. Zb nach Verfuegbarkeit von irgendwelchen Datenbloecken in einer Datei.
Und wenn die da wieder rausgeholt werden, dann moegen die in *irgendeiner* Reihenfolge zurueck kommen, und dann was?
meinst du wenn die quelle der daten veraendert wird ?
ich glaub das ist ein guter punkt und eine echte einschraenkung der funktion, die quelle muss stabil sein...
__deets__ hat geschrieben:
Donnerstag 9. August 2018, 16:53
Und wenn die Daten in der Datenbank veraendert werden (also ein echtes UPDATE, kein INSERT IGNORE),
dann werden die ggf. nicht an die gleiche Stelle geschrieben, und kommen NOCHMAL anders zurueck.
du meinst wenn ich die rohdaten in dem table aendern sollte?
faellt mir kein guter grund ein warum ich die daten veraendern sollte, aber ja auch das waere ein fail
besser waere es das table zu kopieren und dann aenderungen vornehmen...
order gleich die aenderungen in ein neues table zu schreiben.
Sirius3
User
Beiträge: 8829
Registriert: Sonntag 21. Oktober 2012, 17:20

Donnerstag 9. August 2018, 19:08

Du hast wirklich ein völlig falsches Bild, was eine Datenbank ist und wie man sie benutzt.
Versuch mal zu erklären, was Dein eigentliches Problem ist.
Zu erzählen, wie Deine Lösung aussieht, zu einem Problem, das wir nicht kennen, hilft dagegen nicht.
pyront
User
Beiträge: 22
Registriert: Donnerstag 28. Juni 2018, 16:04

Donnerstag 9. August 2018, 19:49

wie waers mit ner aufgabenstellung

speicher daten in ein table und dann erweitere es mit neuen daten ohne duplikate zu erzeugen.
die daten haben keine unique merkmale und es kommen duplikate vor.

oder vieleicht etwas kreativer @ 5 mio daten benutz ein crawler und geh alle usernames auf facebook durch und schreib sie mit ihren inhalten in 1 table.
(achtung hans kann in der gleichen sekunde einen doppelpost erstellen)

mir faellt da echt viel ein ...

ich bin schon echt froh xD sry... im grunde bin ich jetzt nur noch am ueberlegen wo die funktions grenzen liegen
Sirius3
User
Beiträge: 8829
Registriert: Sonntag 21. Oktober 2012, 17:20

Donnerstag 9. August 2018, 20:05

Du weißt also gar nicht, was Du machen willst. Dann wird mir auch klar, warum alles, was Du geschrieben hast, keinen Sinn ergibt. Schade um die Zeit der Leute, die Dir helfen wollten.
Antworten