Maison développement back-end tutoriel php MySQL加上事务处理等于MaxSQL_PHP教程

MySQL加上事务处理等于MaxSQL_PHP教程

Jul 13, 2016 pm 05:25 PM
mysql 事务处理 exister grand ouvrir 源码 de égal

去年八月在 OReilly 赞助的开放源码大会上,MySQL 开发人员Monty Widenius 宣布了一项新的项目叫做MaxSQL,一个目前十分流行的MySQL 数据库的增强版本。最重要的是MaxSQL 结合了来自Sleepycat软件的最新的 Berkeley DB 库,因此程序以另外一种表类型支持事务处理。

  目前,你还不能直接安装MaxSQL的二进制版本,你必须从MySQL 3.23 beta 的源码来编译,但是当你看到这篇文章的时候,你应该可以从MySQL 网站下载MaxSQL了。 想要自己编译最新的版本的话,请看“编译自己的MaxSQL”一文,在那里我详细叙述了编译步骤。

什么是事务?

  为什么增加了一个事务安全的表需要命名一个新的项目名字呢?或许我应该提一下MySQL 的主要开发者 Monty Widenius 有两个孩子,一个叫My ,另一个叫Max,哥儿俩相互竞争不说,另外还有一个对手PostgreSQL。

  关于PostgreSQL,我们本期的另外一篇文章"PostgreSQL为电子商务加了一个等级" 会有提到,是一个对我们都有利的竞争者,因为每一个项目组都在克服自己产品中的弱点。而MaxSQL 所作的就是消除这两个对手之间的 差距。MySQL 有很快的读操作,因此很受Web 开发者欢迎,因为Web 内容 以读为主。但是,另外一方面,因为MySQL 使用了ISAM 表,所以写操作时,必须给整个表加锁,这样减慢了更新和插入的操作,当流量很大时会是一个很大的问题。当每秒请求数目剧增时,写操作在服务器中排队,Web 页面会发生超时错误。

  使用了 MaxSQL后,你依然可以建立普通的快速ISAM 类型表,也可以在某个表需要使用事务安全特性时,选择使用新的BDB 类型。

  BDB 表在写操作时要比 ISAM 快得多。因为他们不使用表一级的锁。 另外,对于任何事务表的处理都有日志记录以防硬件失效。日志允许 COMMIT/ROLLBACK 操作。例如,你在一个在线商店下订单, 订单会在"order" 表中记录一行。系统会从"inventory"表中的某一行中 减掉对应的库存货物数量。如果使用MySQL的ISAM表,一个CGI 程序需要执行以下六步:



  LOCK inventory table
  LOCK order table
  UPDATE inventory table
  UPDATE order table
  UNLOCK inventory table
  UNLOCK order table

  如果有人锁住了任何一个表,这个 CGI 程序就必须等待。一旦两个都加锁以后,CGI 才可以更新他们,然后释放锁。如果在第三步失败的话(例如服 务器宕机),order 表就不会被更新而你的库存已经减了下来。

  使用 MaxSQL BDB 事务安全类型的表之后,只需要四步:

  BEGIN
  UPDATE inventory table
  UPDATE order table
  COMMIT

  你不必等待释放锁,所有的四个步骤是一个事务。只要读到BEGIN 语句, MySQL 就把命令读入缓冲,一直到看到COMMIT 命令为止。因此,所有的操作在同一时间发生。即使有意外操作发生(磁盘满或者掉电),也不会因此而毁掉数据库。在一个非事务安全的系统里,如果第三步失败的话, 数据库就会发生不一致,而在BDB 表中,如果对order 表操作失败MySQL 会恢复对库存表的操作,这样不会发生不一致的情况了。

  许多网站采用早期版本的 MySQL来实现表锁,但是采用 MaxSQL 以后,会很容易和快速。

还有什么新式武器?

  除了因为 BDB 表需要把 MySQL 转变成 MaxSQL之外,另外还有一些 重要的改变。其中一个秘密武器就是数据库复制,你可以把一个服务器作为 主服务器,而配置任意数目的从服务器,这样对主服务器的更新也将拷贝到 从服务器。为了使用这样的系统,改变你的CGI 脚本,让他们知道MySQL 从 服务器的存在。这个脚本也会在不能连接上主服务器时,切换到从服务器。

  需要注意的是,这样的系统对很少写操作的数据库才有效,因为复制不是同步的。如果有人在主服务器上启动一个事务,而在事务结束之前服务器死机的话,主服务器没有时间把更新复制到从服务器。这样,这种系统不合适作电子商务,而且,CGI 脚本总是首先连接主服务器,所以不是负载平衡的系统。

  另外一个重大改进是 ISAM 类型表的格式。缺省的表类型现在叫作 MyISAM。 这种类型的表能处理到每个表最大2GB ,而且可以跨平台。 你可以从Linux 拷贝一个MyISAM 文件到Solaris 而不需要任何转换。

结论:

  MaxSQL 可以作为价格昂贵的商务系统的一个很优秀的替代品。很多系统不需要处理很多的事务交易,而要求安装Oracle。而MaxSQL 提供的事务安全的表,使更新数据库的编程工作更加轻松。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/532068.htmlTechArticle去年八月在 OReilly 赞助的开放源码大会上,MySQL 开发人员Monty Widenius 宣布了一项新的项目叫做MaxSQL,一个目前十分流行的MySQL 数据库的增强...
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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 !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment ouvrir phpmyadmin Comment ouvrir phpmyadmin Apr 10, 2025 pm 10:51 PM

Vous pouvez ouvrir PHPMYADMIN via les étapes suivantes: 1. Connectez-vous au panneau de configuration du site Web; 2. Trouvez et cliquez sur l'icône PHPMYADMIN; 3. Entrez les informations d'identification MySQL; 4. Cliquez sur "Connexion".

MySQL: une introduction à la base de données la plus populaire au monde MySQL: une introduction à la base de données la plus populaire au monde Apr 12, 2025 am 12:18 AM

MySQL est un système de gestion de la base de données relationnel open source, principalement utilisé pour stocker et récupérer les données rapidement et de manière fiable. Son principe de travail comprend les demandes des clients, la résolution de requête, l'exécution des requêtes et les résultats de retour. Des exemples d'utilisation comprennent la création de tables, l'insertion et la question des données et les fonctionnalités avancées telles que les opérations de jointure. Les erreurs communes impliquent la syntaxe SQL, les types de données et les autorisations, et les suggestions d'optimisation incluent l'utilisation d'index, les requêtes optimisées et la partition de tables.

Comment utiliser un seul fileté redis Comment utiliser un seul fileté redis Apr 10, 2025 pm 07:12 PM

Redis utilise une architecture filetée unique pour fournir des performances élevées, une simplicité et une cohérence. Il utilise le multiplexage d'E / S, les boucles d'événements, les E / S non bloquantes et la mémoire partagée pour améliorer la concurrence, mais avec des limites de limitations de concurrence, un point d'échec unique et inadapté aux charges de travail à forte intensité d'écriture.

Place de MySQL: bases de données et programmation Place de MySQL: bases de données et programmation Apr 13, 2025 am 12:18 AM

La position de MySQL dans les bases de données et la programmation est très importante. Il s'agit d'un système de gestion de base de données relationnel open source qui est largement utilisé dans divers scénarios d'application. 1) MySQL fournit des fonctions efficaces de stockage de données, d'organisation et de récupération, en prenant en charge les systèmes Web, mobiles et de niveau d'entreprise. 2) Il utilise une architecture client-serveur, prend en charge plusieurs moteurs de stockage et optimisation d'index. 3) Les usages de base incluent la création de tables et l'insertion de données, et les usages avancés impliquent des jointures multiples et des requêtes complexes. 4) Des questions fréquemment posées telles que les erreurs de syntaxe SQL et les problèmes de performances peuvent être déboguées via la commande Explication et le journal de requête lente. 5) Les méthodes d'optimisation des performances comprennent l'utilisation rationnelle des indices, la requête optimisée et l'utilisation des caches. Les meilleures pratiques incluent l'utilisation des transactions et des acteurs préparés

Pourquoi utiliser MySQL? Avantages et avantages Pourquoi utiliser MySQL? Avantages et avantages Apr 12, 2025 am 12:17 AM

MySQL est choisi pour ses performances, sa fiabilité, sa facilité d'utilisation et son soutien communautaire. 1.MySQL fournit des fonctions de stockage et de récupération de données efficaces, prenant en charge plusieurs types de données et opérations de requête avancées. 2. Adoptez l'architecture client-serveur et plusieurs moteurs de stockage pour prendre en charge l'optimisation des transactions et des requêtes. 3. Facile à utiliser, prend en charge une variété de systèmes d'exploitation et de langages de programmation. 4. Avoir un solide soutien communautaire et fournir des ressources et des solutions riches.

Comment se connecter à la base de données d'Apache Comment se connecter à la base de données d'Apache Apr 13, 2025 pm 01:03 PM

Apache se connecte à une base de données nécessite les étapes suivantes: Installez le pilote de base de données. Configurez le fichier web.xml pour créer un pool de connexion. Créez une source de données JDBC et spécifiez les paramètres de connexion. Utilisez l'API JDBC pour accéder à la base de données à partir du code Java, y compris l'obtention de connexions, la création d'instructions, les paramètres de liaison, l'exécution de requêtes ou de mises à jour et de traitement des résultats.

Comment démarrer MySQL par Docker Comment démarrer MySQL par Docker Apr 15, 2025 pm 12:09 PM

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

CentOS installe MySQL CentOS installe MySQL Apr 14, 2025 pm 08:09 PM

L'installation de MySQL sur CENTOS implique les étapes suivantes: Ajout de la source MySQL YUM appropriée. Exécutez la commande YUM Install MySQL-Server pour installer le serveur MySQL. Utilisez la commande mysql_secure_installation pour créer des paramètres de sécurité, tels que la définition du mot de passe de l'utilisateur racine. Personnalisez le fichier de configuration MySQL selon les besoins. Écoutez les paramètres MySQL et optimisez les bases de données pour les performances.

See all articles