Implementieren Sie 100 MySQL-Datenbanktabellen in PHP mit 100 Millionen Daten

PHP中文网
Freigeben: 2016-08-08 09:19:44
Original
1133 Leute haben es durchsucht

Wenn die Datenmenge stark zunimmt, wird sich jeder für Datenbanktabellen-Hashing und andere Methoden entscheiden, um die Lese- und Schreibgeschwindigkeit von Daten zu optimieren. Der Autor machte einen einfachen Versuch, indem er 100 Millionen Daten in 100 Tabellen aufteilte. Der spezifische Implementierungsprozess ist wie folgt:

Erstellen Sie zunächst 100 Tabellen:

$i=0;
while($i<=99){
echo "$newNumber \r\n";
$sql="CREATE TABLE `code_".$i."` (
 `full_code` char(10) NOT NULL,
 `create_time` int(10) unsigned NOT NULL,
 PRIMARY KEY  (`full_code`),
) ENGINE=MyISAM DEFAULT CHARSET=utf8";
mysql_query($sql);
$i++;
Nach dem Login kopieren

Lassen Sie uns über meine Tabellenaufteilungsregeln sprechen, die als Primärschlüssel verwendet werden.

Die Funktion lautet wie folgt:

$table_name=get_hash_table(&#39;code&#39;,$full_code);
function get_hash_table($table,$code,$s=100){
$hash = sprintf("%u", crc32($code));
echo $hash;
$hash1 = intval(fmod($hash, $s));
 return $table."_".$hash1;
}
Nach dem Login kopieren

Ermitteln Sie auf diese Weise den Tabellennamen, in dem die Daten gespeichert sind, über get_hash_table, bevor Sie Daten einfügen.

Schließlich verwenden wir die Merge-Storage-Engine, um eine vollständige Codetabelle zu implementieren

1 CREATE TABLE IF NOT EXISTS `code` (  
2 `full_code` char(10) NOT NULL,3 `create_time` int(10) unsigned NOT NULL,4 INDEX(full_code)  
5 ) TYPE=MERGE UNION=(code_0,code_1,code_2.......) INSERT_METHOD=LAST ;
Nach dem Login kopieren

Auf diese Weise können wir alle vollständigen Codedaten erhalten, indem wir * aus dem Code auswählen.


Das Obige ist der Inhalt der Implementierung von 100 MySQL-Datenbanktabellen in PHP mit 100 Millionen Daten. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.org). .php.cn) !


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!