Wenn ja, wie würde das Datenmodell aussehen, wenn ich ein eindeutiges TEXT-Feld haben möchte?Gibt es Leistungseinbußen bei der Verwendung eines TEXT als Primärschlüssel?
Antwort
Nein. Unabhängig vom verwendeten Datentyp speichert Cassandra alle Daten auf der Festplatte (einschließlich der Primärschlüsselwerte) als Hex-Byte-Arrays. In Bezug auf die Leistung spielt der Datentyp des Primärschlüssels keine Rolle.
Der einzige Fall, wo es wichtig wäre, ist in Token/Knoten-Verteilung. Dies liegt daran, das erzeugte Token für "12345"
als Text aus dem Token für 12345
als bigint erzeugt wird anders sein:
[email protected]:stackoverflow> CREATE TABLE textaskey (key text PRIMARY KEY, value text);
[email protected]:stackoverflow> CREATE TABLE longaskey (key bigint PRIMARY KEY, value text);
[email protected]:stackoverflow> INSERT INTO textaskey (key, value) VALUES ('12345','12345');
[email protected]:stackoverflow> INSERT INTO longaskey (key, value) VALUES (12345,'12345');
[email protected]:stackoverflow> SELECT token(key),value FROM textaskey ;
token(key) | value
---------------------+-------
2375712675693977547 | 12345
(1 rows)
[email protected]:stackoverflow> SELECT token(key),value FROM longaskey;
token(key) | value
---------------------+-------
3741197147323682197 | 12345
(1 rows)
Aber auch in diesem Beispiel sollte man nicht durchführen schneller/anders als die anderen.
Würde es nicht kleine Unterschiede, weil Hash Text ist in der Regel langsamer als Hashing Zahlen oder Ganzzahlen. http://programmers.stackexchange.com/questions/49550/which-hashing-algorithm-is-best-for-uniqueness-and-speed. Ich würde jedoch zustimmen, dass es meist nicht auffallen wird –
Ja, Hashing dauert länger als eine Zahl, aber aus einer Cassandra Abfrage Perspektive, sollten Sie es nicht bemerken @ Desertice – Aaron
- 1. Gibt es Leistungseinbußen bei der Verwendung mehrerer Instanzen von CLLocationManager
- 2. Bei Rails anmelden, gibt es Leistungseinbußen?
- 3. Leistungseinbußen bei der Verwendung von Netmq-Poller
- 4. Leistungseinbußen bei der Verwendung von: Coffescript-Filter in HAML-Vorlagen?
- 5. Gibt es Nachteile bei der Verwendung von AJAX als RIA?
- 6. Gibt es einen Effizienzvorteil bei der Verwendung von INT vs GUID für einen Primärschlüssel?
- 7. Gibt es einen Wert bei der Verwendung eines Silverlight-Frameworks?
- 8. Leistungseinbußen bei der Verwendung von NSMutableDictionary vs. NSMutableArray>
- 9. Gibt es Probleme bei der Verwendung von GUIDs als indizierte Felder in SQL Server?
- 10. Gibt es mögliche Nachteile bei der Verwendung eines anderen Ruby-Frameworks als Rails?
- 11. Gibt es Nachteile bei der Verwendung der Android Support Library?
- 12. Gibt es irgendwelche Leistungseinbußen bei der Auswahl von gzip über deflate für die HTTP-Komprimierung?
- 13. Welche Leistungseinbußen gibt es zwischen verschiedenen Clojure-Matrix-Bibliotheken?
- 14. Gibt es einen Vorteil bei der Verwendung einer Python-Klasse?
- 15. Gibt es Leistungsunterschiede bei der Verwendung verschiedener HTTP-Methoden?
- 16. Welche Schwächen gibt es bei der Verwendung von Erlang?
- 17. Es gibt einige Fehler bei der Verwendung von Passenger
- 18. Ist es möglich, den Primärschlüssel der Zeile als ID-Attribut zu jedem bei Verwendung von Django-Tabellen2 anwenden?
- 19. Gibt es Leistungseinbußen für benannte/optionale Parameter für Konstruktoren?
- 20. Gibt es Nachteile bei der Verwendung von -O3 in GCC?
- 21. "None" oder "Not Used" Fremdschlüssel bei der Verwendung von GUIDs als Primärschlüssel
- 22. Worauf kommt es bei der Verwendung eines Logging-Frameworks an?
- 23. Ist es vorteilhaft, bei der Verwendung von Linq to SQL mehrspaltige (zusammengesetzte) Primärschlüssel zu verwenden?
- 24. Warum gibt es ein L bei der Zuweisung eines wstring?
- 25. Verwenden eines Dateipfads als Primärschlüssel in MySQL
- 26. Gibt es Probleme bei der Verwendung eines IEnumerable <T> Rückgabetyps für SQL-Daten?
- 27. Zugriff Primärschlüssel Verwendung/Rolle
- 28. NHibernate: Verwenden eines benutzerdefinierten Typs als Primärschlüssel
- 29. Fehler bei der Verwendung eines verschobenen Werts
- 30. Wie spezifiziert man einen Primärschlüssel bei der Verwendung von dplyr copy_to()?
möglich Duplikat von [Cassandra Primärschlüssel. Auswirkungen auf die Leistung, wenn Ganzzahl vs Varchar] (http://stackoverflow.com/questions/20692446/cassandra-primary-key-performance-implications-if-integer-vs-varchar) –