日期:2011-01-25 22:43:00 来源:本站整理
<b>MySQL数据库中不为人知的本领</b>[MySQL防范]
本文“<b>MySQL数据库中不为人知的本领</b>[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
mysql/>MySQL易学易用,且附带丰富的技术文档,这二个因素使之被遍及利用.但是,随着mysql/>MySQL发展之疾速,即便一个mysql/>MySQL熟行有时也会为该软件出乎意料的功效感慨.本文将为你介绍这些不为人知的特点. nf/eqhh-
pW< shCV
以XML格局查看查询后果 !)ava \
~r]XFU
通过利用传统—xml 选项调用MySQL号令行客户程序,你可以以XML格局(而不是传统的列表情势)来查看MySQL查询后果.假如你打算将查询输出与别的程序集成在一同,这一本领非常有效,这里是一个例子: $t_pCEw\ e
+LZ| hqI
表A |$;jP<%
SQlEb)tr
shell> mysql --xml VSW~YP9
@.JD_m N
mysql> SELECT * FROM test.stories; sdYD/Y
>XUTBJX4
!/vK Y
EPG[e7
\nSVw!$k
1 wIl}<p)r
This is a test gr']aUi09
2005-07-28 00:14:57 7DBWyUV
S~Eqn 0\!
!Z8Kb3MxGF
S= ev" yN
2 mZsdvBv:'
This is the second test "vAnQf
2005-07-28 00:15:11 iO[sQP]
{TNT.
t @-DS.ZR
2 rows in set (0.11 sec) !8cN8tb
2dQ! y<
快速重建索引 T~5wULw'
lt.BWF
普通情形下,假如你想改变服务器的全文搜索变量,你需求在表格中重新成立全文索引,以确保你的更新得到映射.这一操作将会耗费大量的时间,分外是假如你需求处理很大都据的时刻.一种快速的办理办法是利用REPAIR TABLE号令,以下为演示历程: 1#\ X]-
p:JI $L;)
表B $ l{ N8LD
Q r
mysql> REPAIR TABLE content QUICK; &\UYYJxyz
+-----------+--------+----------+----------+ H Lit@g
| Table| Op| Msg_type | Msg_text | Ki}1To
+-----------+--------+----------+----------+ dK~ 1@
| content| repair | status| OK| -Wv c$SX
+-----------+--------+----------+----------+ $CUCXz[>n
1 row in set (0.05 sec) D~!au:\$
c%uz6 l
紧缩一定的表格范例 L5NGMF{zNL
_ }]\ i-
假如你处理的是只读MyISAM表格,MySQL答应你将其紧缩以节俭磁盘空间.对此可以利用包含myisampack,以下所示: @=R dG
%[z.zY2=
表C d*-2+ D 5&
ikK\9gB)(
shell> myisampackmovies.MYI k"* \s .C
Compressing movies.MYD: (146 records) )Xbl<;+x
- Calculating statistics vP5R"4?
- Compressing file caa 3MA>
41.05% - ?0qz[4
t({t:|h
利用传统SQL a,G{OtBB
$_F j
MySQL支持SQL查询中的传统用法,支持IF与CASE构造.以下是一个简单的例子: @b`@7L}Z
\J-Tw^E
表D O8T2(P$Rc
JRm&Oc9v
mysql> SELECT IF (priv=1, 'admin', 'guest') As usertype FROM privs WHERE username = 'joe'; #N3blF%v
+----------+ e&Nm%#9Z;
| usertype | u[kdlZnqyc
+----------+ Bk!]Tw s|1
| admin| YIUj7H
+----------+ Cvd^|^&3+!
1 row in set (0.00 sec) 8nmS;o
hNBHeK
以CSV格局输出表格数据 uf@!CLF
4`K<n
MySQL输出文件包含一个全部SQL号令列表.假如你想将输出文件导入到MySQL,这一功效非常实用,但假如目标程序(比方Excel)不能与SQL彼此通讯,这一办法将行不通.在这种情形下,可以通过奉告MySQL以CSV格局成立输出文件,这种CSV格局很便利地导入到绝大部份的程序.这里演示了mysqldump的操作历程: MTiNuo`M
{6VgfC\
shell> mysqldump -T . --fields-terminated-by=", " mydbmytable UD@6D>Q~"u
L{,7Wb+[%)
这将在当前目录中生成一个文本文件,包含来自mydb.mytable列表中以逗号为隔断符的记录. b@oLlb4-w
cHg5 ]dK-
以激活strict情势削减“bad”数据的呈现 DA5WPDj-
a]BbGS
MySQL服务器可以以多种差别的情势运行,而每一种都针关于特定的目的而优化.在默许情形下,没有设置情势.但是,通过在服务器号令行中增添以下选项可以很简单地改变情势的设置并将MySQL以“strict”情势运行: 5mM#W:r
@ZP%T_(
shell> mysqld --sql_mode="STRICT_ALL_TABLES" & !<KX+}Sk6
JZ&DefN
在“strict”情势下,通过MySQL的中止查询履行并返回一个错误,服务器的很多自动改正功效都被无效化.一样,该情势下也将会履行更为严峻的时间查抄. ~KtB",$
8J+x u;
监督服务器 g]FaGf6us
o{Y?k=G
你可以通过运行SHOW STATUS号令得到一份服务器运行与统计的报告,包含翻开衔接的次数,激活查询次数,服务器正常运行时间等等.比方: [<'V}oUp@#
8o98E6
表 E vH7'-yhw
[ =cecFV
mysql> SHOW STATUS; <"BHu.
+------------------+-------+ { J b}14 H
| Variable_name| Value | lQ"}~SQu)
+------------------+-------+ (O*o;,7C
| Aborted_clients| 0| K@$5@4'mP
| Aborted_connects | 0| 0]LOSb.<0
... Y\!H.[vb;O
| Uptime| 851| 5ulNz
+------------------+-------+ Es; o$FN
156 rows in set (0.16 sec) 830 v\H
4:Lj!nn(65
自动返回CREATE TABLE代码 ) 6\vY
Dhn@]++
MySQL答应你自动得到SQL号令重新成立一个特定的表格.只简单地运行SHOW CREATE TABLE号令,并查看表格成立代码,以下所示: "a4|g,%
kokH<CrK{
表 F U-Dx>^g\4
EqMl20t
mysql> SHOW CREATE TABLE products; uzD8 J
----------------------------------------------------- FJmedK23V
| Table| Create Table 6GAV.'
+----------+----------------------------------------- ^W8syW=
| products | CREATE TABLE `products` ( BW^$H#|\
`id` int(8) NOT NULL auto_increment, Pr[Zcs1d
`name` varchar(255) NOT NULL default '', Fgzth
`price` int(10) default NULL, JK 5s2
PRIMARY KEY(`id`) In?rn%h
) ENGINE=MyISAM DEFAULT CHARSET=latin1 | ;*1Ru38
+----------+----------------------------------------- lX2OsIU
1 row in set (0.27 sec) ]|Q&Yh Z
{\ {iZ
成立一个更为有效的号令提醒: |L9{t !|
a+(3=8m
在缺省情形下,MySQL号令行客户程序显示一个简单的mysql>提醒符.但是,你可以利用特定的改正内容来改变这一提醒符使之变得更为有效,这些内容包含:当前用户名称,主机名称,以及当前挑选的数据库.以下所示: }mV?GKCH46
-zW~)==x
表 G goq,Q$\
+)Hq-jPR;
mysql> prompt \U:/\d> A:FgjuR
PROMPT set to '\U:/\d>' F7s/ZL<C
root@localhost:/db1> NaxIg)9(
Aq'f6,.J
从这里的文档文件你可以得到支持MySQL客户程序更改的一个完好列表.
以上是“<b>MySQL数据库中不为人知的本领</b>[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论