Schritt 1: Erstellen Sie eine Tabelle wie die Tabelle, die bereits vorhanden ist. Dazu verwenden Sie die unten stehende Abfrage
create table <new Table> like <your Table Name>;
oder wenn Sie wollen nur die E-Mail-Adressen in der Tabelle Verwendung unter Abfrage Kiste neue Tabelle
create table <new Table> email varchar(30);
Schritt 2: Wählen Sie die Datensätze, die mit ‚endet @ gmail.com'|'@hotmail.com‘ und sie in die neue Tabelle
Verwendung E-Mail Inplace von * in select-Anweisung einfügen, wenn Sie eine Tabelle erstellt haben, nur Adressen E-Mail speichern
insert into <new Table>
select * from <your Table Name>
where email like '%@gmail.com' or email like '%@hotmail.com'
edit: Wie wir hier Wildcard-Suche verwenden wir nicht Verwendung von Indizes auf Spalte E-Mail machen können, auch wenn wir ein
erstellen Wie Sie erwähnt haben, dass die Daten 15 Millionen gibt es Möglichkeiten für die Transaktionszeit
aus
so fügen Sie einfach Limit und Offset hier die Abfrage bekommen arbeiten
zum Beispiel:
insert into <new Table>
select * from <your Table Name>
where email like '%@gmail.com' or email like '%@hotmail.com'
limit 5000000 offset 0;
die obige Abfrage serach wird und die ersten fünf Millionen Datensätze aus Ihrer Tabelle einfügen (Sie müssen zwei weitere Abfragen verwenden können, wenn Sie in jeder Transaktion verwenden 5 Millionen Datensätze)
zweite Abfrage:
insert into <new Table>
select * from <your Table Name>
where email like '%@gmail.com' or email like '%@hotmail.com'
limit 5000000 offset 5000001;
insert into <new Table>
select * from <your Table Name>
where email like '%@gmail.com' or email like '%@hotmail.com'
limit 5000000 offset 10000001;
Bitte bearbeiten Sie Ihre Frage und fügen Sie Beispiele ein, was Sie als E-Mail-Adresse betrachten und was nicht. –