J'ai une table de base de données avec 10 000 000+ lignes que je traite pour créer une nouvelle table. Quel est le meilleur type de moteur de stockage pour la lecture?Meilleur moteur de stockage pour base de données avec 10 000 000 lignes
Actuellement j'utilise:
$sql = "UPDATE `packages_unsorted` SET `acv_return_viadetails` = '0';";
ensuite pour sélectionner les enregistrements:
$sql = "SELECT * FROM `packages_unsorted` WHERE `acv_return_viadetails` = '0' LIMIT 1000;";
Je collectionne la clé primaire id
dans un tableau appelé ids $ et je traite les dossiers et écrire les données un fichier CSV à importer à la fin de chaque 1000 lignes. mettre à jour puis le champ acv_return_viadetails avec:
$sql = "UPDATE `packages_unsorted` SET `acv_return_viadetails` = '1' WHERE `id` IN ('".implode("','",$ids)."') LIMIT 1000;";
Comme ci-dessus est la seule écriture à la table et je sélectionner tous les champs à chaque fois. Dois-je utiliser une table de mémoire ou un autre type de moteur de stockage pour accélérer les choses? Ou y a-t-il d'autres optimisations que je pourrais introduire pour accélérer les choses?
Aussi ce qui serait une configuration my.cnf raisonnable pour une telle opération.
Merci à l'avance :)
Si vous cherchez des techniques avancées dans le réglage de votre configuration MySQL Je recommande fortement http://www.mysqlperformanceblog.com/pour déterminer tous les réglages que vous pouvez faire. Vous ne pouvez pas voir pourquoi vous ne pouvez pas utiliser 'InnoDb' et vous assurer que' acv_return_viadetails' a un 'INDEX'. Peut-être que si nous en savions un peu plus sur votre jeu de données, il serait logique de le décomposer en tables plus petites ou de réorganiser les données. –
Merci, je vais essayer Innodb mais je ne peux pas vraiment diviser les données parce que c'est une importation CSV directe en utilisant LOAD DATA INFILE - environ 90 champs * 10M lignes. –
innodb - clés primaires groupées voir ici http://stackoverflow.com/questions/4419499/mysql-nosql-help-me-to-choisir-la-right-one-on-a/4421601#4421601 –