mysql consulta grande mesa pontos de dados
Quando a quantidade de aumento de dados, vamos selecionar o hash tabela de biblioteca como forma de velocidade de acesso a dados otimizar, exemplificado:
100 milhões de pontos de dados 100 de mesa
1. Primeiro criar 100 mesas
$ i = 0;
while ($ i <= 99) {
echo "$ NewNumber \ r \ n";
$ SQL = "CREATE TABLE code_".$i."
(
full_code
CHAR (10) não nulo,
create_time
int (10) sem assinatura não nulo,
CHAVE PRIMÁRIA ( full_code
),
) = MOTOR MyISAM PADRÃO CHARSET = UTF-8";
mysql_query ($ sql);
$ i ++;
2. As regras sub-tabela:
full_code como a chave principal, feito de hash de full_code
$ Table_name = get_hash_table ( 'code', $ full_code);
get_hash_table função ($ mesa, $ código, $ s = 100) {
$ de hash = sprintf ( "% L", CRC32 ($ código));
echo $ haxixe;
$ hash1 = intval (fmod ($ hash $ s));
retornar $ table "_" $ hash1..;
}
Esses dados tabela de inserção frontal de aquisição de dados armazenados pelo get_hash_table.
3. Use o mecanismo de armazenamento de mesclagem para alcançar uma tabela de código completo
CREATE TABLE SE NÃO EXISTE code
(
full_code
CHAR (10) não nulo,
create_time
int (10) sem assinatura não nulo,
INDEX (full_code)
) TIPO DE UNIÃO = = MERGE (code_0, code_1, code_2 .......) INSERT_METHOD = ÚLTIMO;
Por selecione * de código que você pode obter todas as full_code dados.