VorwortUm beim Testen die Fähigkeit des Projekts zu testen, dem Druck großer Datenmengen standzuhalten, müssen wir normalerweise einige Testdaten erstellen. Jetzt ist diese Methode absolut nützlich. Möglicherweise treten SQL-Speicherplatzfehler auf, die Sie selbst zu beheben versuchen können. Hier wird eine Stapeleinfügung durchgeführt, wobei jedes Mal 300.000 Datensätze eingefügt werden, sodass es kein ähnliches Speicherplatzproblem gibt. Erstellen Sie zunächst eine Tabelle, in die 1 Million Daten eingefügt werdenNamen festlegen utf8mb4; Setzen Sie FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Tabellenstruktur für sdb_b2c_orders -- ---------------------------- Tabelle löschen, wenn `sdb_b2c_orders` vorhanden ist; Tabelle `sdb_b2c_orders` erstellen ( `order_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT 'Bestellnummer', `seller_order_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT 'Händler-Bestellnummer', `total_amount` decimal(20, 3) NOT NULL DEFAULT 0.000 COMMENT 'Gesamtwert des Produkts in der Standardwährung', `final_amount` decimal(20, 3) NOT NULL DEFAULT 0.000 COMMENT 'Gesamtbetrag der Bestellwährung, einschließlich Zahlungspreis, Steuern usw.', `pay_status` enum('0','1','2','3','4','5') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT 'Zahlungsstatus 0-Nicht bezahlt 1-Bezahlt 2-An Bürgen bezahlt 3-Teilzahlung 4-Teilrückerstattung 5-Volle Rückerstattung', `ship_status` enum('0','1','2','3','4') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT 'Versandstatus', `is_delivery` enum('Y','N') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'Y' COMMENT 'Muss es versendet werden?', `createtime` int(10) UNSIGNED NULL DEFAULT NULL COMMENT 'Bestellzeit', `last_modified` int(10) UNSIGNED NULL DEFAULT NULL COMMENT 'Letzte Änderungszeit', `ectools_payments` varchar(512) ZEICHENSATZ utf8 SORTIMENT utf8_general_ci NULL STANDARD NULL, `payment` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Zahlungsmethode', `shipping_id` mediumint(8) UNSIGNED NULL DEFAULT NULL COMMENT 'Versandart', `Versand` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Versandart', `member_id` mediumint(8) UNSIGNED NULL DEFAULT NULL COMMENT 'Benutzername des Mitglieds', `platform_member_id` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Plattform-Mitglieds-ID', `store_id` mediumint(8) UNSIGNED NULL DEFAULT NULL COMMENT 'Sammlungsspeicher-ID', `confirm_status` enum('0','1','2','3') CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT 'Bestellstatus speichern', `confirm_time` int(10) UNSIGNED NULL DEFAULT NULL COMMENT 'Zeitpunkt der Auftragsannahme', `pickself_status` enum('0','1') CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Selbstabholstatus', `pickself_time` int(10) NULL DEFAULT NULL COMMENT 'Abholzeit', `pickself_id` mediumint(8) UNSIGNED NULL DEFAULT NULL COMMENT 'Abholshop-ID', `operator_id` mediumint(8) UNSIGNED NULL DEFAULT NULL COMMENT 'Benutzer-ID des Zahlungsempfängers', `weixinscan_qrcode` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT ‚WeChat-Zahlungscode‘, `alipay_qrcode` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT ‚Alipay-Zahlungscode‘, `unionpay_qrcode` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'UnionPay Zahlungscode', `qrcode` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Verifizierungscode', `promotion_type` enum('normal', 'vorbereiten', 'aufladen', 'Kasse') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'normal' COMMENT 'Verkaufsart', `status` enum('aktiv', 'tot', 'fertig') ZEICHENSATZ utf8 SORTIMENT utf8_general_ci NICHT NULL STANDARD 'aktiv' KOMMENTAR 'Bestellstatus', `bestätigen` enum('J','N') ZEICHENSATZ utf8 SORTIMENT utf8_general_ci NICHT NULL STANDARD 'N' KOMMENTAR 'Bestätigungsstatus', `ship_area` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Versandgebiet', `ship_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Empfänger', `Gewicht` decimal(20, 3) NULL DEFAULT NULL COMMENT 'Gesamtgewicht der Bestellung', `tostr` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT 'Bestelltextbeschreibung', `itemnum` mediumint(8) UNSIGNED NULL DEFAULT NULL COMMENT 'Unterbestellmenge der Bestellung', `ip` varchar(15) ZEICHENSATZ utf8 SORTIMENT utf8_general_ci NULL STANDARD NULL KOMMENTAR 'IP-Adresse', `ship_addr` Text ZEICHENSATZ utf8 COLLATE utf8_general_ci NULL KOMMENTAR 'Lieferadresse', `ship_zip` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Postleitzahl des Empfängers', `ship_tel` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Versandtelefonnummer', `ship_email` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'E-Mail des Empfängers', `ship_time` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Lieferzeit', `ship_mobile` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Mobiltelefonnummer des Empfängers', `cost_item` decimal(20, 3) NOT NULL DEFAULT 0.000 COMMENT 'Gesamtpreis der Bestellpositionen', `is_tax` enum('true','false') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'false' COMMENT 'Möchten Sie eine Rechnung ausstellen?', `tax_type` enum('false','personal','company') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'false' COMMENT 'Rechnungstyp', `tax_content` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Rechnungsinhalt', `cost_tax` decimal(20, 3) NOT NULL DEFAULT 0.000 COMMENT 'Steuersatz für Bestellung', `tax_company` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Rechnungskopf', `is_protect` enum('true','false') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'false' COMMENT 'Gibt es eine Versicherungsgebühr?', `cost_protect` decimal(20, 3) NOT NULL DEFAULT 0.000 COMMENT 'Versicherungsgebühr', `cost_payment` decimal(20, 3) NULL DEFAULT NULL COMMENT 'Zahlungsgebühr', `Währung` varchar(8) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Zahlungswährung der Bestellung', `cur_rate` decimal(10, 4) NULL DEFAULT 1.0000 COMMENT 'Wechselkurs für Zahlungsauftragswährung', `score_u` decimal(20, 3) NOT NULL DEFAULT 0.000 COMMENT 'Bestellnutzungspunkte', `score_g` decimal(20, 3) NOT NULL DEFAULT 0.000 COMMENT 'Orderpunkte', `Rabatt` decimal(20, 3) NOT NULL DEFAULT 0.000 COMMENT 'Bestellrabatt', `pmt_goods` decimal(20, 3) NULL DEFAULT NULL COMMENT 'Produkt-Aktionsrabatt', `pmt_order` decimal(20, 3) NULL DEFAULT NULL COMMENT 'Bestellaktion', `bezahlt` decimal(20, 3) NULL DEFAULT 0.000 COMMENT 'Bestellbetrag', `memo` Langtext ZEICHENSATZ utf8 SORTIMENT utf8_general_ci NULL KOMMENTAR 'Bestellhinweise', `deaktiviert` enum('true','false') ZEICHENSATZ utf8 COLLATE utf8_general_ci NULL DEFAULT 'false', `displayonsite` enum('true','false') ZEICHENSATZ utf8 SORTIMENT utf8_general_ci NULL STANDARD 'true', `mark_type` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'b1' COMMENT 'Bestellhinweis-Symbol', `mark_text` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT 'Bestellhinweise', `cost_freight` decimal(20, 3) NOT NULL DEFAULT 0.000 COMMENT 'Lieferkosten', `extend` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 'false' COMMENT 'Order-Erweiterung', `order_refer` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'lokal' COMMENT 'Bestellquelle', `addon` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT 'Zusätzliche Informationen bestellen (serialisiert)', `Quelle` enum('pc','wap','weixin','kassierer','paycode','eleme','meituan') ZEICHENSATZ utf8 SORTIMENT utf8_general_ci NULL STANDARD 'pc' KOMMENTAR 'Plattformquelle', `source_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Name der Geschäftsbezirksbibliothek', `merchant_bn` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Händlernummer', EINZIGARTIGER INDEX `idx_bn`(`order_id`, `merchant_bn`) MIT BTREE, INDEX `ind_ship_status`(`Schiffsstatus`) mit BTREE, INDEX `ind_pay_status`(`pay_status`) mit BTREE, INDEX `ind_promotion_type`(`promotion_type`) MIT BTREE, INDEX `ind_status`(`status`) USING BTREE, INDEX `ind_disabled`(`deaktiviert`) USING BTREE, INDEX `ind_last_modified`(`last_modified`) mit BTREE, INDEX `ind_createtime`(`Erstellungszeit`) USING BTREE, INDEX `idx_order_refer`(`order_refer`) mit BTREE, INDEX `idx_bn_aa`(`merchant_bn`) MIT BTREE ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'Tabelle sortieren' ROW_FORMAT = Dynamisch; Setzen Sie FOREIGN_KEY_CHECKS = 1; Erstellen einer FunktionZufällige Zeichenfolge generieren TRENNUNGSZEICHEN $$ CREATE FUNCTION rand_string(n INT) gibt VARCHAR(255) zurück BEGINNEN DECLARE chars_str VARCHAR(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFJHIJKLMNOPQRSTUVWXYZ'; DECLARE return_str VARCHAR(255) DEFAULT ''; DECLARE i INT DEFAULT 0; WÄHREND ich < n DO SET return_str =CONCAT(return_str,SUBSTRING(chars_str,FLOOR(1+RAND()*52),1)); Setze i = i + 1; ENDE WÄHREND; RETURN return_str; ENDE $$ Zahlen nach dem Zufallsprinzip generieren TRENNUNGSZEICHEN $$ CREATE FUNCTION rand_num( ) Gibt INT(5) zurück. BEGINNEN DECLARE i INT DEFAULT 0; SETZE i = FLOOR(100+RAND()*10); ZURÜCK i; ENDE $$ #Wenn Sie löschen möchten, #drop function rand_num; Erstellen einer gespeicherten ProzedurUnd fügen Sie Daten in die Tabelle ein #Führen Sie die gespeicherte Prozedur aus, um der Tabelle sdb_b2c_order zufällige Daten hinzuzufügen. DELIMITER $$ VERFAHREN ERSTELLEN insert_sdb_b2c_orders(IN START INT(10),IN max_num INT(10)) BEGINNEN DECLARE i INT DEFAULT 0; SETZEN Sie Autocommit = 0; WIEDERHOLEN Setze i = i + 1; INSERT INTO sdb_b2c_orders (Bestell-ID, Verkäufer-Bestell-ID, Gesamtbetrag, Endbetrag, Quelle, Quellenname, Händler-Bn) WERTE (rand_string(10), rand_string(10),100,100,'eleme','square',(START+i)); BIS i = max_num ENDE WIEDERHOLUNG; BEGEHEN; ENDE $$; #löschen#DELIMITER; # VERFAHREN einfügen insert_emp löschen; Aufrufen einer gespeicherten Prozedur zum Einfügen von Daten #300.000 Datensätze in mehreren Stapeln einfügen CALL insert_sdb_b2c_orders(700003,300000); Ergebnis
ZusammenfassenEine Million Datensätze sind fertig. Damit ist dieser Artikel über die Verwendung gespeicherter Prozeduren in MySQL zum schnellen Generieren von einer Million Datensätzen abgeschlossen. Weitere Informationen zur Verwendung gespeicherter Prozeduren in MySQL zum Generieren von einer Million Datensätzen finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: So verwenden Sie vw+rem für das mobile Layout
>>: Eine ausführliche Diskussion zur Detailanalyse im Webdesign
1 Was ist MVCC Der vollständige Name von MVCC lau...
Docker ist ein Open-Source-Projekt, das Entwickle...
<br />Was ist Web 2.0? Web2.0 umfasst diese ...
Inhaltsverzeichnis Vue+ElementUI-Hintergrundverwa...
<br />Der Schriftsatz auf der Seite erfolgt ...
<br />Ursprünglicher Link: http://www.dudo.o...
So installieren Sie Tomcat-8.5.39 auf CentOS 7.6....
Zuvor haben wir Docker verwendet, um das SpringBo...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis Fall 1: Fall 2: Fall 3: Um es ...
Als ich mich kürzlich lokal unter Linux anmeldete...
Analysieren Sie die Produktionsschritte: 1. Resso...
Inhaltsverzeichnis 1. beschreibbar: beschreibbar ...
In diesem Artikel wird der spezifische Code von j...
Inhaltsverzeichnis Umgebungsvorbereitung Start 1....