mysql表类型MyISAM,InnoDB实际中怎么选择?
MyISAM,InnoDB的区别优劣网上都说的很清楚了,但在实际中不知道该怎么去用。
之前问过这个问题,但可能说的不是很详细,http://segmentfault.com/q/1010000002600161
我想知道大家在“商城”、“商品表”、“订单”、“库存”,实际中项目中是怎么去设计表类型的呢,或者是怎么保证数据完整性的呢,事务,事务隔离级别……
例如支付宝如果使用mysql的话,那么它的表是怎么设计的呢,怎么严密保证数据的完整性呢?
或者大家知不知道有哪些关于这方面的比较经典的案列呢。
谢谢大家了!
回复内容:
MyISAM,InnoDB的区别优劣网上都说的很清楚了,但在实际中不知道该怎么去用。
之前问过这个问题,但可能说的不是很详细,http://segmentfault.com/q/1010000002600161
我想知道大家在“商城”、“商品表”、“订单”、“库存”,实际中项目中是怎么去设计表类型的呢,或者是怎么保证数据完整性的呢,事务,事务隔离级别……
例如支付宝如果使用mysql的话,那么它的表是怎么设计的呢,怎么严密保证数据的完整性呢?
或者大家知不知道有哪些关于这方面的比较经典的案列呢。
谢谢大家了!
针对具体情况选择,像楼主说的这几种,实际中多选择innoDB
要速度快用myisam,要数据安全用innodb,要折腾要B格高用postgrelsql.
最好用innodb 因为支持事务回滚
如果忽略业务数据的一致性问题,只是往表里灌数据,那MyISAM会比InnoDB爽得多。
但实际项目中这种例子并不多,而不使用事务操作的话,存储方面我还有很多选择。
另外想想这样的场景,就是MySQL主从时主库用InnoDB从库用MyISAM,这样做读写分离会不会好一点?
但如果要搞主库选举切换的话,这样搞反而碍事了。
另外有全文索引的问题,版本是5.7的话可以试试http://dev.mysql.com/doc/refman/5.7/en/full-text-plugins.html
看了下几个回复简直不忍直视。。。各种误人子弟啊。
把事务作为使用它们的区别,这是非常片面的。还有完全错误的答案:“Myisam类型的好处是增 删 改的效率比innodb高。”
这么说吧,如果你要事务,myisam就被pass了。
另一个重要区别:表级锁和行级锁。myisam是表锁的,意味这你insert、update、delete一条记录整个表就被锁了,谁的写操作效率高??上面的答案我真是汗爆了。
mysiam在存储上索引和data分开,空间占用小。但表损坏不能恢复数据。
一句话,mysiam适合读多写少的应用,且对数据一致性恢复性要求不高。
一般情况下,web应用都用innodb
如果你的项目中不需要事物操作,那么就用Myisam,否则就用innodb,Myisam类型的好处是增 删 改的效率比innodb高。
InnoDB存储引擎提供了具有提交,回滚和崩溃恢复能力的事务安全。对比MyISAM的存储引擎,InnoDB写的处理效率差一些,并且会占用更多的磁盘空间以保留数据和索引。
MyISAM:主要以读操作和插入操作为主,只是很少的更新和删除操作,并且对事务的完整性,并发性要求不高,选择这个存储引擎比较合适。还是在web、数据仓储和其他应用环境下最常用的的存储引擎之一。
InnoDB:用于事务处理应用程序,支持外键。如果应用对事务的完整性有比较高的要求,在并发条件下要求数据一致性,数据操作除了插入和查询以外,还包括很多更新,删除操作,那么InnoDB应该是比较适合的选择。
innodb吧 它支持事务操作
mysql5.5版本建表默认都使用InnoDB了,所以建议使用InnoDB,MyIsam可以说是历史要慢慢被淡出
虽说InnoDB,MyIsam各有优劣,曾经我也为做这个选择而纠结,但现实中一般自己做的小项目体现不出他俩的区别,而公司的项目会有专门的DBA(小公司除外),如果你要做这个选择没有特殊原因选择InnoDB的,未来的趋势
也就是说大家还是说要用InnoDB是吧
其实和你的业务还是有很大的关系的.
如果你的业务和钱有关系,那么最好就是InnoDB.
我的公司都是以资讯内容为主,当时也在选择引擎的时候犯难,最后我们直接拿几百万的数据来测试,发现还是MyIsam比较合适,当时的测试版本是5.5的
我们公司一开始用的MyIsam做人口系统,因为数据清洗与迁移方便,但是在后期中出现的锁表问题很头疼,就换成了InnoDB,仅供参考
目前工作都没有遇到使用mysiam建表的,innodb是主流。如果是读多写少的场景,可以用redis等nosql来做更适合。
时至今日,不用想了,myisam和innodb比没有任何优势,

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

PHP et Python ont chacun leurs propres avantages et choisissent en fonction des exigences du projet. 1.Php convient au développement Web, en particulier pour le développement rapide et la maintenance des sites Web. 2. Python convient à la science des données, à l'apprentissage automatique et à l'intelligence artificielle, avec syntaxe concise et adaptée aux débutants.

PHP est toujours dynamique et occupe toujours une position importante dans le domaine de la programmation moderne. 1) La simplicité de PHP et le soutien communautaire puissant le rendent largement utilisé dans le développement Web; 2) sa flexibilité et sa stabilité le rendent exceptionnelle dans la gestion des formulaires Web, des opérations de base de données et du traitement de fichiers; 3) PHP évolue et optimise constamment, adapté aux débutants et aux développeurs expérimentés.

PHP est utilisé pour créer des sites Web dynamiques, et ses fonctions principales incluent: 1. Générer du contenu dynamique et générer des pages Web en temps réel en se connectant à la base de données; 2. Traiter l'interaction utilisateur et les soumissions de formulaires, vérifier les entrées et répondre aux opérations; 3. Gérer les sessions et l'authentification des utilisateurs pour offrir une expérience personnalisée; 4. Optimiser les performances et suivre les meilleures pratiques pour améliorer l'efficacité et la sécurité du site Web.

PHP est largement utilisé dans le commerce électronique, les systèmes de gestion de contenu et le développement d'API. 1) E-commerce: Utilisé pour la fonction de panier et le traitement des paiements. 2) Système de gestion du contenu: utilisé pour la génération de contenu dynamique et la gestion des utilisateurs. 3) Développement des API: Utilisé pour le développement de l'API RESTful et la sécurité de l'API. Grâce à l'optimisation des performances et aux meilleures pratiques, l'efficacité et la maintenabilité des applications PHP sont améliorées.

PHP et Python ont leurs propres avantages et inconvénients, et le choix dépend des besoins du projet et des préférences personnelles. 1.Php convient au développement rapide et à la maintenance des applications Web à grande échelle. 2. Python domine le domaine de la science des données et de l'apprentissage automatique.

PHP est principalement la programmation procédurale, mais prend également en charge la programmation orientée objet (POO); Python prend en charge une variété de paradigmes, y compris la POO, la programmation fonctionnelle et procédurale. PHP convient au développement Web, et Python convient à une variété d'applications telles que l'analyse des données et l'apprentissage automatique.

PHP utilise les extensions MySQLI et PDO pour interagir dans les opérations de base de données et le traitement de la logique côté serveur, et traite la logique côté serveur via des fonctions telles que la gestion de session. 1) Utilisez MySQLI ou PDO pour vous connecter à la base de données et exécuter les requêtes SQL. 2) Gérer les demandes HTTP et l'état de l'utilisateur via la gestion de session et d'autres fonctions. 3) Utiliser les transactions pour assurer l'atomicité des opérations de base de données. 4) Empêcher l'injection de SQL, utiliser les connexions de gestion des exceptions et de clôture pour le débogage. 5) Optimiser les performances via l'indexation et le cache, écrivez du code très lisible et effectuez une gestion des erreurs.

Le processus de démarrage de MySQL dans Docker se compose des étapes suivantes: Tirez l'image MySQL pour créer et démarrer le conteneur, définir le mot de passe de l'utilisateur racine et mapper la connexion de vérification du port Créez la base de données et l'utilisateur accorde toutes les autorisations sur la base de données
