辛星解读mysql中的MyISAM引擎_MySQL
很多以前的教科书上都是写的MyISAM是mysql的默认存储引擎,其实自从mysql5.5开始,默认存储引擎就已经改变成为InnoDB了,由于InnoDB在很多方面有着不可替代的功能,因此,很多人喜欢研究InnoDB也在情理之中,我也很喜欢InnoDB。但是呢,对于MyISAM,就跟着辛星辛博士来认识一下吧。
第一点就是MyISAM不支持事务和外键,也正是基于这一点,很多人不喜欢MyISAM。但是MyISAM并不着急改变自己,因为这个引擎的重心是性能,而不是功能,不可否认,MyISAM的性能是非常卓越的,尤其在读数据上面。
第二点就是它的文件格式,一个MyISAM表通常分为三部分,第一部分是xxx.frm,这个文件用于存储表的定义,我们使用alter table的时候就会修改这个数据,因此使用alter table的速度是比较快的,第二部分是后缀名是myd的文件,其实这里的d是data的首字母,用于存放MyISAM的数据文件,第三部分是后缀名是myi的文件,这里的i是index的首字母,用于存放MyISAM的索引文件。默认情况下数据文件和索引文件是放在同一个目录下的,但是我们也可以放在不同的目录来获得更高的速度。
第三点就是MyISAM支持三种不同的存储格式,它们分别是静态格式、动态格式和压缩格式,这里注意压缩格式只能使用myisampack工具来创建。先说静态格式,它也是MyISAM的默认存储格式,当我们的表中不包含变量长度列比如varchar等数据类型时,它会自动使用这个格式,每一行都会选用固定的字节数存储。静态格式的优点就是查找速度非常快,容易缓存,容易修复(我在前面讲数据碎片的时候提到过用optimize table来修复表),缺点就是占据的磁盘空间要多一些。然后说动态格式,动态格式较为复杂一些,因为每行都有一个表明行有多长的列。每个记录仅仅需要必需大小的空间,如果一个记录变大的话,它就按照需要被分开成为多片,造成记录碎片。比如当我们用扩展长度的信息更新数据,该行就会产生碎片。因为动态的原因,也就更容易产生碎片,所以我们往往需要多次的优化表。
       对于压缩表,我们应该先建立一个表,然后使用myisampack来压缩,压缩之后的表会占用较小的磁盘空间,这样会最小化磁盘的使用,而且它是每个记录单独压缩的,所以访问的时候的开销还是蛮小的,它还会修改相应的我们的数据类型。比如一个列的值在-128到127之间,但是我们使用了int来存储,那么它会自动转化为tinyint来存储。如果一个列只有一组很小的可能的值,则列的类型被转化为ENUM。
那么很多人可能想说我们实例操作一下表的压缩吧,好的,辛星童鞋绝对满足大家的要求,我们来实例操作一下,不过必须说明的是,对于太小的表,是不会去压缩的,比如下面的两个例子:
C:\Users\Administrator>myisampack user.MYI user.MYI is too small to compress C:\Users\Administrator>myisampack db.MYI db.MYI is too small to compress
那我们找个稍微大一点的表来做实验:
C:\Users\Administrator>myisampack help_keyword.MYI Compressing help_keyword.MYD: (483 records) - Calculating statistics - Compressing file 95.15% Remember to run myisamchk -rq on compressed tables
此时,表的压缩就完成了,可以看出我们的表中原来存放了483条记录,而且它还提示我们使用myisamchm来解压缩。
第四点问题就是锁定和并发,MyISAM在加锁的时候会对整张表都加锁,这也是MyISAM广为诟病的一点,但是在处理并发上,在读取数据的时候,所有的表上都可以获得共享锁,也就是每个连接会互不干扰,而在写数据的时候,会获得排他锁,会对整个表进行加锁,其他的请求包括读和写都必须处于等待状态。
第五点就提到了表的修复,这一点也是MyISAM的方便的地方,它可以使用【check table 表名】来检测表,还可以使用【repair table 表名】来修复表,当然还可以使用optimize来优化表,比如去除数据碎片等等。
第六点也是比较重要的一点,那就是,MyISAM是支持全文索引的,但是InnoDB不支持,这也是MyISAM少数的几个比InnoDB功能还多的功能,但是目前的MyISAM貌似还是不支持中文,不过我们可以使用第三方技术来弥补这一点。
这一次就先写到这里吧,期待您的关注。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

10月8日のニュースによると、米国の自動車市場は水面下で変化を遂げており、これまで親しまれてきた6気筒や8気筒エンジンが徐々にその優位性を失い、3気筒エンジンが台頭しつつあるという。 10月8日のニュースは、米国の自動車市場が水面下で変化を遂げていることを示した。かつて愛された6気筒や8気筒エンジンは徐々にその優位性を失い、3気筒エンジンが台頭し始めているが、アメリカ人の多くの心の中には大排気量モデルが大好きで「アメリカンビッグV8」というイメージがある。常にアメリカ車の代名詞であり続けています。しかし、最近海外メディアが発表したデータによると、米国の自動車市場の状況は大きく変化しており、水面下での争いは激化している。 2019 年以前は、米国が

『サイバーパンク2077』で黄学者が作った知性あるNPCはすでに中国語を話せる? Qubit を実際に体験して、NPC が中国語と英語で流暢に会話し、自然な表情と動き、口の形を一致させているのを目の当たりにする...目の前にスクリーンがなかったら、本当にその場にいるような気分になるでしょう。今年の CES 展示会で、Nvidia はインテリジェント エンジン Avatar Cloud Engine (ACE) を使用してゲームの NPC を「生きた」ものにし、大きな衝撃を与えました。 △CESに展示されるインテリジェントなNPCにはACEが採用されており、事前にスクリプトを用意することなく、ゲーム内のキャラクターが生き生きとした表情や体の動きを見せながら、プレイヤーとリアルな音声会話を行うことができます。デビュー当時はUbisoft、Tencent、NetEase、MiHoYoなどが存在しました。

リアルタイム グローバル イルミネーション (リアルタイム GI) は、常にコンピュータ グラフィックスの聖杯でした。長年にわたり、業界はこの問題を解決するためにさまざまな方法を提案してきました。一般的な方法には、静的ジオメトリ、大まかなシーン表現、または大まかなプローブの追跡などの特定の仮定を利用して問題領域を制約すること、および 2 つの間の照明を補間することが含まれます。 Unreal Engine のグローバル イルミネーションおよび反射システム Lumen テクノロジーは、Krzysztof Narkowicz と Daniel Wright によって共同設立されました。目標は、均一な照明と焼き付けたような照明品質を実現できる、以前のものとは異なるソリューションを構築することでした。最近、SIGGRAPH 2022 でクシシュトフ・ナルコ氏が

Redmiは本日、新しいRedmi GPro 2024が3月4日に正式にリリースされることを正式に発表しました。つまり、来週にはこのエキサイティングな新製品がリリースされることになります。 RedmiGPro2024は、eスポーツのフラッグシップとして完全デビューし、携帯電話業界の能力をノートブックビジネスに深く統合し、210Wのスーパーパフォーマンスリリースを提示し、Redmiパフォーマンスが新たな最高値に達します。 i9-14900HX プロセッサーと RTX4060 グラフィックス カードを搭載し、e スポーツとクリエーションを完璧に組み合わせ、二重の進化を実現します。この観点から見ると、この新製品の性能は再び向上しており、実際の効果は興味深いものです。公式ウォームアップでは、新しいRedmi G Pro 2024には暴力的なエンジンのPCバージョンが搭載されていると述べられました。携帯電話技術の強化、3 つの主要な要因が牽引

SAS が Oracle データベースに接続するときにエンジンの問題を解決するには、特定のコード例が必要です。SAS ソフトウェアをデータ分析に使用する場合、多くの場合、分析と処理のためのデータを取得するためにデータベースに接続する必要があります。その中でも、Oracle データベースへの接続は比較的一般的な操作です。ただし、Oracle データベースに接続するときにエンジンの問題が発生し、接続が失敗したり、正常に動作しなくなる場合があります。この記事では、SAS ソフトウェアで Oracle データベースに接続する際のエンジンの問題を解決する方法と、具体的なコードを紹介します。

インターネット技術の継続的な発展に伴い、Web テンプレート エンジンは Web サイト開発に不可欠な部分になりました。 PHP Web ページ テンプレート エンジンは、一般的に使用される Web ページ テンプレート エンジンの 1 つです。この記事では、PHP Web テンプレート エンジンの使用方法とよくある質問への回答を紹介します。 1. PHP Web テンプレート エンジンとは何ですか? PHP Web テンプレート エンジンは、Web デザインをビジネス ロジックから分離するテクノロジーです。テンプレート エンジンを使用すると、Web ページの表示と論理処理を分離できるため、コードがクリーンで明確になり、保守が容易になります。 PHP Webテンプレートエンジンとオリジナル

ChatGPT が誕生した日から、Microsoft は幸運を感じているはずです。数年前に投資した10億ドルが無駄ではなかったのは嬉しいことですが。さらに重要なのは、ChatGPT は敵ではなく友軍です。他の大手テクノロジー企業、特にマイクロソフトの古くからのライバルであるグーグルの雰囲気は非常に複雑だ。 Googleのベテラン社員であり、Gmailの開発者の一人であるPaul Buchheit氏は最近、検索エンジンがイエローページの電話帳を完全に消し去ったのと同じように、ChatGPTのような人工知能チャットボットがGoogleを破壊するだろうと語った。時期としては、ほんの1~2年程度です。ブッフハイト氏は水曜日、「Googleが完全に混乱するまでには1~2年しかかからないかもしれない。AIはたとえその後であっても検索エンジンの結果ページを一掃するだろう」とツイートした。

2日連続で、私たちは歴史を目の当たりにしました。シリコンバレーの大手企業はすでに互いに戦争状態にあり、ChatGPTをきっかけとした検索エンジン戦争が始まろうとしている。前日にはGoogleが次世代会話型AIシステムBardをリリースし、その翌日にはMicrosoftがBingとEdgeの新バージョンを公式発表した。新しい Bing を Edge で体験できるようになりました。機能はまだ比較的限定されていますが。マイクロソフトの時価総額も一夜で800億ドル(約5450億元)以上上昇し、5カ月ぶりの高値に達した。別の巨人であるグーグルも4.6%以上上昇し、最新の時価総額は1兆3,800億米ドルと、4カ月ぶりの高水準となった。 ChatGPT 検索が正式に誕生しました!北京時間の今朝早く、マイクロソフトはワシントン州レドモンドで記者会見を開催した。
