suchen
HeimDatenbankMySQL-Tutorial【MongoDB】MongoDB之七大实现技巧

【MongoDB】MongoDB之七大实现技巧

Jun 07, 2016 pm 04:10 PM
mongodb使用实现技巧richtig类型

技巧一、使用正确的类型 用正确的类型存放数据大有裨益。数据类型影响数据的查询方式、数据存放顺序和以及占用多少空间。 数字:做为数字使用的字段就用数字存储。也就是做计算或按照大小排序的字段数据库会自动转换溢出的(比如由于$inc操作导致的溢出) 32

技巧一、使用正确的类型

用正确的类型存放数据大有裨益。数据类型影响数据的查询方式、数据存放顺序和以及占用多少空间。
数字:做为数字使用的字段就用数字存储。也就是做计算或按照大小排序的字段 数据库会自动转换溢出的(比如由于$inc操作导致的溢出) 32位浮点数,将其变为64位整数。
日期:一班的用yyy-mm-dd形式的字符串就可以,如果date类型就会总会匹配到毫秒级别
objectId就要作为objectId存储,千万不要存成字符串。这点非常重要,原因是方便查询 二是objectd中含有用的信息,绝大多数驱动都是从有方法中获得文档的创建日期。 第三objectId表示要多占两陪的磁盘空间。

技巧二、用简单唯一的id替代_id

要是数据库没用唯一的字段,那么就用默认的objetId来做_id。但是若是数据本身就有唯一的字段,并且不需要objectId的功能,那么就用自己唯一的之覆盖默认的id就好了。

技巧三、不要用文档做_id

除了不可避免的情况(mapreduce的输出),通常都不应该将文档作为_id。问题在于索引一个文档中的字段和索引文档完全不一样。如果没有每次查询每个子文档的计划,最后会有多个索引。

技巧四、不要用数据库引用

数据库引用一般形式是:{$id:主键,$ref:collectionName}(也可以有可选的$db字段,表示数据库)。若被引用的文档集合是确定的,不妨只用_id引用,这样就同时比用Id和集合名要节省空间。 如果知道要引用的集合,数据库引用就显得浪费空间。

技巧五、不要用GridFS处理小的二进制数据

GridFS需要查询两次,一次获取文件的元信息,另一次获取内容,所以如果用GridFS存储小文件,会使应用查询次数加倍。从根本上说,GridFS是用来将大的二进制对象切成小片存在数据库中。

技巧六、处理“无缝”故障切换

假设发送给服务器一个请求,得到了网络错误,这时驱动有很多选择。若驱动知道有另一台服务器是否自动对其发送请求?要是驱动发送原请求后发生网络故障,或者在服务端响应时候发送故障怎么办?数据库可能已经处理了请求,就不必再次发送。

技巧七、处理复制组失效以及故障恢复

可能出现的情况: 应用抛出异常“not master”异常可能原因:1 . 复制组正在进行故障恢复 2, 网络状况不好,无法链接诶主节点。3.应用链接节点有问题,无法降级为只读节点。





Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Wie identifizieren und optimieren Sie langsame Abfragen in MySQL? (Langsames Abfrageprotokoll, Performance_schema)Wie identifizieren und optimieren Sie langsame Abfragen in MySQL? (Langsames Abfrageprotokoll, Performance_schema)Apr 10, 2025 am 09:36 AM

Um die MySQL -Abfrage zu optimieren, müssen SlowQuerylog und Performance_Schema verwendet werden: 1. Aktivieren Sie SlowQuerylog und setzen Sie Schwellenwerte, um langsame Abfragen aufzuzeichnen; 2. Verwenden Sie Performance_Schema, um die Details zur Ausführung von Abfragen zu analysieren, Leistungs Engpässe zu finden und zu optimieren.

MySQL und SQL: Wesentliche Fähigkeiten für EntwicklerMySQL und SQL: Wesentliche Fähigkeiten für EntwicklerApr 10, 2025 am 09:30 AM

MySQL und SQL sind wesentliche Fähigkeiten für Entwickler. 1.MYSQL ist ein Open -Source -Relational Database Management -System, und SQL ist die Standardsprache, die zum Verwalten und Betrieb von Datenbanken verwendet wird. 2.MYSQL unterstützt mehrere Speichermotoren durch effiziente Datenspeicher- und Abruffunktionen, und SQL vervollständigt komplexe Datenoperationen durch einfache Aussagen. 3. Beispiele für die Nutzung sind grundlegende Abfragen und fortgeschrittene Abfragen wie Filterung und Sortierung nach Zustand. 4. Häufige Fehler umfassen Syntaxfehler und Leistungsprobleme, die durch Überprüfung von SQL -Anweisungen und Verwendung von Erklärungsbefehlen optimiert werden können. 5. Leistungsoptimierungstechniken umfassen die Verwendung von Indizes, die Vermeidung vollständiger Tabellenscanning, Optimierung von Join -Operationen und Verbesserung der Code -Lesbarkeit.

Beschreiben Sie den asynchronen Master-Slave-Replikationsprozess von MySQL.Beschreiben Sie den asynchronen Master-Slave-Replikationsprozess von MySQL.Apr 10, 2025 am 09:30 AM

MySQL Asynchronous Master-Slave-Replikation ermöglicht die Datensynchronisation durch Binlog, die die Leseleistung und die hohe Verfügbarkeit verbessert. 1) Der Master -Server -Datensatz ändert sich am Binlog; 2) Der Slave -Server liest Binlog über E/A -Threads; 3) Der Server -SQL -Thread wendet BinLog an, um Daten zu synchronisieren.

MySQL: Einfache Konzepte für einfaches LernenMySQL: Einfache Konzepte für einfaches LernenApr 10, 2025 am 09:29 AM

MySQL ist ein Open Source Relational Database Management System. 1) Datenbank und Tabellen erstellen: Verwenden Sie die Befehle erstellte und creatEtable. 2) Grundlegende Vorgänge: Einfügen, aktualisieren, löschen und auswählen. 3) Fortgeschrittene Operationen: Join-, Unterabfrage- und Transaktionsverarbeitung. 4) Debugging -Fähigkeiten: Syntax, Datentyp und Berechtigungen überprüfen. 5) Optimierungsvorschläge: Verwenden Sie Indizes, vermeiden Sie ausgewählt* und verwenden Sie Transaktionen.

MySQL: Eine benutzerfreundliche Einführung in DatenbankenMySQL: Eine benutzerfreundliche Einführung in DatenbankenApr 10, 2025 am 09:27 AM

Die Installation und die grundlegenden Vorgänge von MySQL umfassen: 1. MySQL herunterladen und installieren, das Stammbenutzerkennwort festlegen. 2. Verwenden Sie SQL -Befehle, um Datenbanken und Tabellen zu erstellen, wie z. 3. Ausführen von CRUD -Operationen, verwenden Sie Einfügen, auswählen, aktualisieren, Befehle löschen; 4. Erstellen Sie Indizes und gespeicherte Verfahren, um die Leistung zu optimieren und komplexe Logik zu implementieren. Mit diesen Schritten können Sie MySQL -Datenbanken von Grund auf neu erstellen und verwalten.

Wie funktioniert der InnoDB Puffer Pool und warum ist es für die Leistung von entscheidender Bedeutung?Wie funktioniert der InnoDB Puffer Pool und warum ist es für die Leistung von entscheidender Bedeutung?Apr 09, 2025 am 12:12 AM

InnoDbbufferpool verbessert die Leistung von MySQL -Datenbanken durch das Laden von Daten und Indexseiten in den Speicher. 1) Die Datenseite wird in das Bufferpool geladen, um die Festplatten -E/A zu reduzieren. 2) Schmutzige Seiten sind regelmäßig markiert und auf der Festplatte aktualisiert. 3) LRU -Algorithmusverwaltungsdatenseite Eliminierung. 4) Der Lese-Out-Mechanismus lädt die möglichen Datenseiten im Voraus.

MySQL: Die einfache Datenverwaltung für AnfängerMySQL: Die einfache Datenverwaltung für AnfängerApr 09, 2025 am 12:07 AM

MySQL ist für Anfänger geeignet, da es einfach zu installieren, leistungsfähig und einfach zu verwalten ist. 1. Einfache Installation und Konfiguration, geeignet für eine Vielzahl von Betriebssystemen. 2. Unterstützung grundlegender Vorgänge wie Erstellen von Datenbanken und Tabellen, Einfügen, Abfragen, Aktualisieren und Löschen von Daten. 3. Bereitstellung fortgeschrittener Funktionen wie Join Operations und Unterabfragen. 4. Die Leistung kann durch Indexierung, Abfrageoptimierung und Tabellenpartitionierung verbessert werden. 5. Backup-, Wiederherstellungs- und Sicherheitsmaßnahmen unterstützen, um die Datensicherheit und -konsistenz zu gewährleisten.

Wann könnte ein vollständiger Tabellen -Scan schneller sein als einen Index in MySQL?Wann könnte ein vollständiger Tabellen -Scan schneller sein als einen Index in MySQL?Apr 09, 2025 am 12:05 AM

Die volle Tabellenscannung kann in MySQL schneller sein als die Verwendung von Indizes. Zu den spezifischen Fällen gehören: 1) das Datenvolumen ist gering; 2) Wenn die Abfrage eine große Datenmenge zurückgibt; 3) wenn die Indexspalte nicht sehr selektiv ist; 4) Wenn die komplexe Abfrage. Durch Analyse von Abfrageplänen, Optimierung von Indizes, Vermeidung von Überindex und regelmäßiger Wartung von Tabellen können Sie in praktischen Anwendungen die besten Auswahlmöglichkeiten treffen.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen