仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1219|回复: 7
打印 上一主题 下一主题

[学习教程] MYSQL网页编程之MySQL 4.1.0 中文参考手册 -- 6.1 言语...

[复制链接]
兰色精灵 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:45:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
MySQL部署迅速,因此移植过程不会导致生产中断。而且,较短的学习曲线可以让你的系统管理员迅速掌握它的运行和维护。而且,MySQL的易于维护和管理意味着目前的职员可以处理目前的工作。mysql|参考|参考手册|中文MySQL4.1.0中文参考手册---犬犬(心帆)翻译MySQLReferenceManualforversion4.1.0-alpha.


6MySQL言语参考
MySQL具有一个庞大的但直不雅易学的SQL接口。这个章节形貌了各类分歧的命令、范例和函数,为了高效地利用MySQL必要懂得它们。这个章节也能够视为MySQL中包括的一切功效的参考。
6.1言语布局6.1.1笔墨:怎样写字符串与数字


这个章节形貌了在MySQL中誊写字符串与数字的各类分歧体例。也包括有对各类分歧不同和“gotchas”,当你在处置MySQL的基础范例时大概堕入的困惑。
6.1.1.1字符串
字符串是多个字符构成的一个字符序列,由单引号(“”)或双引号(“"”)字符包抄。(但在ANSI形式中运转时只能用单引号)。

比方:

astring"anotherstring"

在一个字符串中,假如某个序列具有特别的寄义,每一个序列以反斜线标记(“”)开首,称为本义字符。MySQL辨认以下本义字符:
一个ASCII0(NUL)字符。一个ASCII39单引号(“”)字符。"一个ASCII34双引号(“"”)字符。一个ASCII8退格符。
一个ASCII10换行符。一个ASCII13回车符。        一个ASCII9制表符(TAB)。zASCII(26)(Control-Z)。这个字符能够处置在Windows体系中ASCII(26)代表一个文件的停止的成绩。(当利用mysqldatabase<filename时ASCII(26)大概会引发成绩发生。)一个ASCII92反斜线(“”)字符。\%一个ASCII37“%”字符。它用于在注释中搜刮“%”的笔墨实例,不然这里“%”将注释为一个通配符。检察章节6.3.2.1字符串对照函数。\_一个ASCII95“_”字符。它用于在注释中搜刮“_”的笔墨实例,不然这里“_”将注释为一个通配符。检察章节6.3.2.1字符串对照函数.
注重假如在某些注释情况内利用“\%”或“\_”,将前往字符串“\%”和“\_”而不是“%”和“_”。

字符串中包括引号的能够有以下几种写法:
一个字符串用单引号“”来援用的,该字符串中的单引号“”字符能够用“”体例本义。一个字符串用双引号“"”来援用的,该字符串中的“"”字符能够用“""”体例本义。你也能够持续利用在引号前加一个本义字符“”来本义的体例。一个字符串用双引号“"”来援用的,该字符串中的单引号“”不必要特别看待并且不用被反复或本义。同理,一个字符串用单引号“”来援用的,该字符串中的双引号“"”不必要特别看待并且不用被反复或本义。
上面显现的SELECT演示引号和本义是怎样事情:

mysql>SELECThello,"hello",""hello"",hello,hello;+-------+---------+-----------+--------+--------+|hello|"hello"|""hello""|hello|hello|+-------+---------+-----------+--------+--------+mysql>SELECT"hello","hello","hello","hel""lo",""hello";+-------+---------+-----------+--------+--------+|hello|hello|hello|hel"lo|"hello|+-------+---------+-----------+--------+--------+mysql>SELECT"This
Is
Four
lines";+--------------------+|ThisIsFourlines|+--------------------+



假如你想要把二进制数据拔出到一个字符范例的字段中(比方BLOB),以下字符必需由本义序列暗示:NULASCII0,你应当用“”(一个反斜线和一个ASCII“0”字符)暗示它。ASCII92,反斜线。必要用“”暗示。ASCII39,单引号。必要用“”暗示。"ASCII34,双引号。必要用“"”暗示。
假如你写C代码,你可使用CAPI函数mysql_real_escape_string()来为INSERT语句本义字符。检察章节8.1.2CAPI函数概述。在Perl中,你可使用DBI包中的quote办法来将这些特别字符转换成得当的本义序列。检察章节8.5.2DBI接口。

你应当在任何大概包括上述特别字符的字符串中利用本义函数!

别的,良多MySQLAPI供应了一些占位符处置才能,这同意你在查询语句中拔出特别标志,然后在实行查询时对它们绑定命据值。如许,API会主动为你从数值直达换它们。
6.1.1.2数字


整数被暗示为一个数字序列。浮点数利用“.”作为一个十进制的分开符。这两品种型的数字能够前置`-以暗示一个负值。

无效整数的例子:

12210-32

无效浮点数的例子:

294.42-32032.6809e+10148.00

一个整数能够在浮点语境中利用;它被注释为等值的浮点数。
6.1.1.3十六进制值


MySQL撑持十六进制数值。在数字的语境中,它们体现相似于一个整数(64位精度)。在字符串的语境中,它们体现相似于一个二进制的字符串,每对十六进制数字被转换为一个字符:

mysql>SELECTx4D7953514C;->MySQLmysql>SELECT0xa+0;->10mysql>SELECT0x5061756c;->Paul

表达式xhexstring(4.0中新到场)是基于ANSISQL的,表达式0x是基于ODBC的。十六进制的字符勾通常被ODBC用于为BLOB范例字段赋值。你能够经由过程HEX()将一个字符串或一个数值转化为十六进制格局。
6.1.1.4NULL值


NULL值其实不意味着“有数据”,而且是分歧于比方数字范例的0或字符串范例的空串。检察章节A.5.3NULL值成绩。

当利用文本文件导进与导特别式时(LOADDATAINFILE,SELECT...INTOOUTFILE),NULL能够用N来形貌。检察章节6.4.9LOADDATAINFILE句法.
6.1.2数据库、表、索引、列和别号


数据库、表、索引、列和别号都需恪守MySQL一样的划定规矩。

注重,从MySQL3.23.6入手下手,划定规矩产生改动了,此时引进了用“`”援用标识符(数据库、表和字段名)。假如你以ANSI形式运转,“"”也能够用于援用标识符。检察章节1.8.2以ANSI形式运转MySQL。
标识符最年夜长度同意的字符数据库64一个目次名中同意的任何字符,除“/”、“”或“.”。表64一个文件名中同意的任何字符,除“/”或“.”。列64一切的字符。别号255所胡的字符。
注重,除下面的,在一个标识符中还不克不及有ASCII(0)或ASCII(255)或援用字符。

注重,假如标识符是一个受限失落的词或包括特别的字符,当利用它时,必需以一个`(backtick)来援用它。

mysql>SELECT*FROM`select`WHERE`select`.id>100;

检察章节6.1.7MySQL对保存字抉剔吗?。

在MySQL3.23.6之前的版本中,定名划定规矩以下:
一个名字能够由以后字符会合包括的笔墨与数字字符和“_”和“$”构成。缺省字符集为ISO-8859-1Latin1;这能够经由过程改动mysqld的--default-character-set的选项来改动。检察章节4.6.1用于数据和排序的字符集。一个名字能够以在名字中正当的任何字符入手下手。出格地,一个名字能够以一个数字入手下手(这分歧于很多别的的数据库体系!)。但一个名字不克不及仅仅以数字构成。不克不及在名字中利用“.”字符,由于它是用于扩大格局的,你能够用它援用列(见上面)。
倡议不要利用象1e如许的名字,由于一个表达式1e+1是存在二义性的。它能够被注释为表达式1e+1或数字1e+1。

在MySQL中,你可使用以下表格中的任一种体例援用一个列:
列援用寄义col_name列col_name来自查询所用的任何一个表中对应字段tbl_name.col_name列col_name来自以后数据库中的表tbl_namedb_name.tbl_name.col_name列col_name来自数据库db_name中的表tbl_name。这个情势从MySQL3.22或今后版本入手下手可用。`column_name`该字段是一个关头词或包括特别字符。
在一条语句中的列援用中,不必要明白指定一个tbl_name或db_name.tbl_name前缀,除非这个援用存在二义性。比方,假定表t1和t2均包括一个字段c,当用一个利用了t1和t2的SELECT检索c时。在这类情形下,c存在二义性,由于它在这个语句所利用的表中不是独一的,因此必需经由过程写出t1.c或t2.c来指明你所需的是哪一个表。一样的,假如从数据库db1的表t和数据库db2的表t中检索,你必需用db1.t.col_name和db2.t.col_name来指定援用哪一个库表的列。

句法.tbl_name意味着表tbl_name在以后数据库中。这个句法是为了与ODBC兼容,由于一些ODBC程序以一个“.”字符作为表名的前缀。
6.1.3名字的巨细写敏理性


在MySQL中,数据库和表对就于那些目次下的目次和文件。因此,操纵体系的敏理性决意数据库和表定名的巨细写敏感。这就意味着数据库和表名在Windows中是巨细写不敏感的,而在年夜多半范例的Unix体系中是巨细写敏感的。一个惯例是MacOSX,当缺省的HFS+文件体系利用时。但是MacOSX还撑持UFS卷,那些在MacOSX是巨细写敏感的就如他们在任一Unix上一样。检察章节1.8.3MySQL对ANSISQL92的扩大。

注重:只管在Windows中数据库与表名是疏忽巨细写的,你不该该在统一个查询中利用分歧的巨细写来援用一个给定的数据库和表。上面的查询将不克不及事情,由于它以my_table和MY_TABLE援用一个表:

mysql>SELECT*FROMmy_tableWHEREMY_TABLE.col=1;

列名与列的别号在一切的情形下均是疏忽巨细写的。

表的别号是辨别巨细写的。上面的查询将不克不及事情,由于它用a和A援用别号:

mysql>SELECTcol_nameFROMtbl_nameASa->WHEREa.col_name=1ORA.col_name=2;

假如影象数据库和表名的字母巨细写有坚苦,倡议接纳一个分歧一商定,比方老是以小写字母创立数据库和表。

制止这个成绩的另外一个举措就是以-Olower_case_table_names=1参数启动mysqld。缺省地在Windows中这个选项为1,在Unix中为0。

假如lower_case_table_names为1,MySQL将在存储与查找时将一切的表名转换为小写字线。(从MySQL4.0.2入手下手,这个选项一样合用于数据库名。)注重,当你变动这个选项时,你必需在启动mysqld前起首将老的表名转换为小写字母。

假如将MyISAM从Windows挪动到一个Unix磁盘中,在某些情形下你大概必要利用“mysql_fix_extensions”工具来修改指定命据库目次下的文件扩大名(小写字母“.frm”,年夜写字母“.MYI”和“.MYD”)。“mysql_fix_extensions”寄存在“scripts”子目次下。
6.1.4用户变量


MySQL撑持毗连特定(connection-specific)的用户变量,用@variablename句法暗示。一个变量名能够由以后字符会合包括的笔墨与数字字符和“_”、“$”和“.”构成。短少的字符集为ISO-8859-1Latin1;这能够经由过程改动mysqld的--default-character-set的选项来改动。检察章节4.6.1用于数据和排序的字符集。

变量不用被初始化。缺省地,他们的值为NULL并能够存储一个整数、实数或字符串值。当毗连线程加入时,这个线程的一切变量将会主动地被开释。

你能够经由过程SET句法来设置一个变量:

SET@variable={integerexpression|realexpression|stringexpression}[,@variable=...].

在语句中除SET以外还能够间接为一个变量赋值。但是在这各情形下,赋值操纵符为:=而不是=,由于=在非SET语句中是用于对照的:

mysql>SELECT@t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3;+----------------------+------+------+------+|@t1:=(@t2:=1)+@t3:=4|@t1|@t2|@t3|+----------------------+------+------+------+|5|5|1|4|+----------------------+------+------+------+

用户变量能够用于表达式所同意的任何中央。注重,这在数字必需明白指定的语境中其实不合用,比方,在SELECT的LIMIT子句中或一个LOADDATA语句的IGNOREnumberLINES的子句中。

注重:在一个SELECT语句中,各个表达式只要在它被送到客户端时才干被求值。这就意味着,在HAVING、GROUPBY或ORDERBY子句中,你不克不及利用一个包括在SELECT部分所设置变量的表达式。比方:上面的语句将不会按预期的运作:

mysql>SELECT(@aa:=id)ASa,(@aa+3)ASbFROMtable_nameHAVINGb=5;

缘故原由是由于@aa不会是以后行的值,而是前一个切合前提的行的id值。

划定规矩就是在统一语句中决不赋值和利用统一个变量。
6.1.5体系变量


从MySQL4.0.3入手下手,我们供应了对大批的体系变量和毗连变量的更好的会见体例。你能够不必要封闭服务器就能够变动个中的年夜部变量值。

体系变量可分为两品种型:线程特定(Thread-specific)或称为毗连特定(connection-specific)变量,它们是以后毗连独一的;全局变量,它们用于设置全局事务。全局变量也一样被用于设置一个新毗连的响应线程特定变量的初始值。

当mysqld启动时,一切的全局变量以命令行参数和选项文件内容初始化。能够经由过程SETGLOBAL命令变动这些值。当一个新的毗连线程被创建时,将以全局变量值初始化线程特定变量,直到你实行一个新的SETGLOBAL命令时,线程特定变量才会改动。

为了设置一个全局(GLOBAL)变量值,可使用上面的任一句法:(在这里,我们以sort_buffer_size变量作为一个示例)

SETGLOBALsort_buffer_size=value;SET@@global.sort_buffer_size=value;

为了设置一个会话(SESSION)变量的值,可使用上面任一句法:

SETSESSIONsort_buffer_size=value;SET@@session.sort_buffer_size=value;SETsort_buffer_size=value;

假如你没有明白指定GLOBAL或SESSION,那末默许地将是设置SESSION。检察章节5.5.6SET句法。

LOCAL是SESSION的同义词。

经由过程上面的任一命令能够检索到一个全局(GLOBAL)变量值:

SELECT@@global.sort_buffer_size;SHOWGLOBALVARIABLESlikesort_buffer_size;

经由过程上面的任一命令能够检索到一个会话(SESSION)变量值:

SELECT@@session.sort_buffer_size;SHOWSESSIONVARIABLESlikesort_buffer_size;

当检索一个变量值时利用@@variable_name句法,或没有指定GLOBAL或SESSION时,假如线程特定(thread-specific)的(SESSION)值存在,MySQL将前往它。假如不存在,那末MySQL将前往全局变量值。

在设置全局(GLOBAL)变量而不是在检索他们的时分必要利用GLOBAL,是为了在以后援用一个同名的线程特定(thread-specific)变量或删除同名的一个线程特定(thread-specific)变量时不至产生成绩。在这类情形下,你大概偶然间改动全部服务器的形态而不是你本人的毗连。

上面的列表是你可使用GLOBAL或SESSION对它们举行变动和检索的一切变量。
变量名变量值范例变量范例autocommitboolSESSIONbig_tablesboolSESSIONbinlog_cache_sizenumGLOBALbulk_insert_buffer_sizenumGLOBAL|SESSIONconcurrent_insertboolGLOBALconnect_timeoutnumGLOBALconvert_character_setstringSESSIONdelay_key_writeOFF|ON|ALLGLOBALdelayed_insert_limitnumGLOBALdelayed_insert_timeoutnumGLOBALdelayed_queue_sizenumGLOBALerror_countnumLOCALflushboolGLOBALflush_timenumGLOBALforeign_key_checksboolSESSIONidentitynumSESSIONinsert_idboolSESSIONinteractive_timeoutnumGLOBAL|SESSIONjoin_buffer_sizenumGLOBAL|SESSIONkey_buffer_sizenumGLOBALlast_insert_idboolSESSIONlocal_infileboolGLOBALlog_warningsboolGLOBALlong_query_timenumGLOBAL|SESSIONlow_priority_updatesboolGLOBAL|SESSIONmax_allowed_packetnumGLOBAL|SESSIONmax_binlog_cache_sizenumGLOBALmax_binlog_sizenumGLOBALmax_connect_errorsnumGLOBALmax_connectionsnumGLOBALmax_error_countnumGLOBAL|SESSIONmax_delayed_threadsnumGLOBALmax_heap_table_sizenumGLOBAL|SESSIONmax_join_sizenumGLOBAL|SESSIONmax_sort_lengthnumGLOBAL|SESSIONmax_tmp_tablesnumGLOBALmax_user_connectionsnumGLOBALmax_write_lock_countnumGLOBALmyisam_max_extra_sort_file_sizenumGLOBAL|SESSIONmyisam_max_sort_file_sizenumGLOBAL|SESSIONmyisam_sort_buffer_sizenumGLOBAL|SESSIONnet_buffer_lengthnumGLOBAL|SESSIONnet_read_timeoutnumGLOBAL|SESSIONnet_retry_countnumGLOBAL|SESSIONnet_write_timeoutnumGLOBAL|SESSIONquery_cache_limitnumGLOBALquery_cache_sizenumGLOBALquery_cache_typeenumGLOBALread_buffer_sizenumGLOBAL|SESSIONread_rnd_buffer_sizenumGLOBAL|SESSIONrpl_recovery_ranknumGLOBALsafe_show_databaseboolGLOBALserver_idnumGLOBALslave_compressed_protocolboolGLOBALslave_net_timeoutnumGLOBALslow_launch_timenumGLOBALsort_buffer_sizenumGLOBAL|SESSIONsql_auto_is_nullboolSESSIONsql_big_selectsboolSESSIONsql_big_tablesboolSESSIONsql_buffer_resultboolSESSIONsql_log_binlogboolSESSIONsql_log_offboolSESSIONsql_log_updateboolSESSIONsql_low_priority_updatesboolGLOBAL|SESSIONsql_max_join_sizenumGLOBAL|SESSIONsql_quote_show_createboolSESSIONsql_safe_updatesboolSESSIONsql_select_limitboolSESSIONsql_slave_skip_counternumGLOBALsql_warningsboolSESSIONtable_cachenumGLOBALtable_typeenumGLOBAL|SESSIONthread_cache_sizenumGLOBALtimestampboolSESSIONtmp_table_sizeenumGLOBAL|SESSIONtx_isolationenumGLOBAL|SESSIONversionstringGLOBALwait_timeoutnumGLOBAL|SESSIONwarning_countnumLOCALunique_checksboolSESSION
以num标志的变量能够设置一个数字值。以bool标志的变量能够设置0、1、ON或OFF。enum范例的变量一般是设置为该变量的某一个可用值,但也能够设置为绝对应的数字。(enum的第一个值为0)。

上面是某些变量的形貌:
变量形貌identitylast_insert_id的别号(Sybase兼容)sql_low_priority_updateslow_priority_updates的别号sql_max_join_sizemax_join_size的别号delay_key_write_for_all_tables如它与delay_key_write一同被设置,那末一切新翻开的MyISAM表将利用delayedkeywrites.versionVERSION()的别号(Sybase(?)兼容)
在启动选项章节中能够找到别的的变量的形貌,SHOWVARIABLES的形貌在SET部分。检察章节4.1.1mysqld命令行选项。检察章节4.5.6.4SHOWVARIABLES。检察章节5.5.6SET句法。
6.1.6正文句法




MySQL服务器撑持#到该行停止、--到该行停止和/*行两头或多个行*/的正文方格:

mysql>SELECT1+1;#这个正文直到该行停止mysql>SELECT1+1;--这个正文直到该行停止mysql>SELECT1/*这是一个外行两头的正文*/+1;mysql>SELECT1+/*这是一个多行正文的情势*/1;

注重--(双长划)正文作风请求在两个长划后最少有一个空格!

只管服务器了解方才形貌的正文句法,但MySQL客户真个语法剖析在/*...*/正文体例上另有所限止:
单引号和双引号被用来标记一个被援用字符串的入手下手,即便是在一个正文中。假如正文中的引号没有另外一个引号与之配对,那和语法剖析程序就不会以为正文停止。假如你以交互式运转mysql,你会发生狐疑,由于提醒符从mysql>变成>或">。一个分号被用于指出以后SQL语句的停止而且跟从它的任何器材暗示下一行的入手下手。
不管你是以交互式运转mysql仍是将命令放在一个文件中,然后以mysql<some-file告知mysql读取它的输出,这个限定均存在。

MySQL撑持`--ANSISQL正文作风,但在两个长划后必需跟有一个空格。检察章节1.8.4.7`--作为一个正文的入手下手。
6.1.7MySQL对保存字抉剔吗?


一个罕见的成绩来于试图利用MySQL内置的数据范例或函数名作为表的字段名来创立数据表,比方TIMESTAMP或GROUP。可是,同意你如许做(比方,ABS是一个同意的列名),当利用函数名也是列名的函数时,函数名与前面随着的“(”之间不同意存在空格。

上面的词在MySQL中是被明白保存的。它们年夜多半被ANSISQL92克制作为列或表名(比方,GROUP)。一些被保存是由于MySQL必要它们而且它利用的是一个yacc语法剖析器:
单词单词单词ADDALLALTERANALYZEANDASASCAUTO_INCREMENTBDBBEFOREBERKELEYDBBETWEENBIGINTBINARYBLOBBOTHBTREEBYCASCADECASECHANGECHARCHARACTERCHECKCOLLATECOLUMNCOLUMNSCONSTRAINTCREATECROSSCURRENT_DATECURRENT_TIMECURRENT_TIMESTAMPDATABASEDATABASESDAY_HOURDAY_MINUTEDAY_SECONDDECDECIMALDEFAULTDELAYEDDELETEDESCDESCRIBEDISTINCTDISTINCTROWDIVDOUBLEDROPELSEENCLOSEDERRORSESCAPEDEXISTSEXPLAINFALSEFIELDSFLOATFORFORCEFOREIGNFROMFULLTEXTFUNCTIONGRANTGROUPHASHHAVINGHIGH_PRIORITYHOUR_MINUTEHOUR_SECONDIFIGNOREININDEXINFILEINNERINNODBINSERTINTINTEGERINTERVALINTOISJOINKEYKEYSKILLLEADINGLEFTLIKELIMITLINESLOADLOCALTIMELOCALTIMESTAMPLOCKLONGLONGBLOBLONGTEXTLOW_PRIORITYMASTER_SERVER_IDMATCHMEDIUMBLOBMEDIUMINTMEDIUMTEXTMIDDLEINTMINUTE_SECONDMODMRG_MYISAMNATURALNOTNULLNUMERICONOPTIMIZEOPTIONOPTIONALLYORORDEROUTEROUTFILEPRECISIONPRIMARYPRIVILEGESPROCEDUREPURGEREADREALREFERENCESREGEXPRENAMEREPLACEREQUIRERESTRICTRETURNSREVOKERIGHTRLIKERTREESELECTSETSHOWSMALLINTSOMESONAMESPATIALSQL_BIG_RESULTSQL_CALC_FOUND_ROWSSQL_SMALL_RESULTSSLSTARTINGSTRAIGHT_JOINSTRIPEDTABLETABLESTERMINATEDTHENTINYBLOBTINYINTTINYTEXTTOTRAILINGTRUETYPESUNIONUNIQUEUNLOCKUNSIGNEDUPDATEUSAGEUSEUSER_RESOURCESUSINGVALUESVARBINARYVARCHARVARCHARACTERVARYINGWARNINGSWHENWHEREWITHWRITEXORYEAR_MONTHZEROFILL
以下的标记(来自上表)是被ANSISQL克制的,可是能够被MySQL用于列/表名。这是因为用他们定名是很天然的而且有良多的人已利用了它们。
ACTIONBITDATEENUMNOTEXTTIMETIMESTAMP需要处理因此带来的更多的支持工作,这有可能会带来成本上的提高。在这种情况下,一些MySQL学习教程发行商可能倾向于选择别的开源数据库,例如遵循BSD授权的PostgreSQL。
金色的骷髅 该用户已被删除
沙发
发表于 2015-1-19 22:27:45 | 只看该作者
可能有的朋友会抱怨集成的orderby,其实如果使用ranking函数,Orderby是少不了的。如果担心Orderby会影响效率,可以为orderby的字段建立聚集索引,查询计划会忽略orderby操作(因为本来就是排序的嘛)。
若相依 该用户已被删除
板凳
发表于 2015-1-28 13:59:01 | 只看该作者
两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书
简单生活 该用户已被删除
地板
发表于 2015-2-5 21:25:43 | 只看该作者
作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题!
深爱那片海 该用户已被删除
5#
发表于 2015-2-13 16:49:55 | 只看该作者
无法深入到数据库系统层面去了解和探究
只想知道 该用户已被删除
6#
发表于 2015-3-4 00:12:51 | 只看该作者
是要和操作系统进行Socket通讯的场景。否则建议慎重!
再现理想 该用户已被删除
7#
发表于 2015-3-11 14:51:26 | 只看该作者
至于淘汰的问题,只能说在你的项目周期之内,微软应该都不会倒闭。
因胸联盟 该用户已被删除
8#
发表于 2015-3-26 22:30:18 | 只看该作者
多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-3 13:13

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表