mysql consulta grande mesa pontos de dados

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_codeCHAR (10) não nulo,
create_timeint (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_codeCHAR (10) não nulo,
create_timeint (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.

Acho que você gosta

Origin www.cnblogs.com/djwhome/p/12536068.html
Recomendado
Clasificación