仓酷云

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

[学习教程] MYSQL网站制作之MySQL进阶_SELECT篇(一)

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:34:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
MySQLAB公司的一个高级开发者者表示,“这个特点使得MySQL可以根据你当前的系统的需要来进行调整。”mysql|selectMySQL中SELECT语句的基础语法是:
SELECT[STRAIGHT_JOIN][SQL_SMALL_RESULT][SQL_BIG_RESULT][HIGH_PRIORITY][DISTINCT|DISTINCTROW|ALL]select_list[INTO{OUTFILE|DUMPFILE}file_nameexport_options][FROMtable_references[WHEREwhere_definition][GROUPBYcol_name,...][HAVINGwhere_definition][ORDERBY{unsighed_integer|col_name|formura}[ASC|DESC],...][LIMIT[offset,]rows][PROCEDUREprocedure_name]]
从这个基础语法能够看出,最复杂的SELECT语句是SELECTselect_list,实践上使用这个最复杂的SELECT语句,你也能够完成很多你等候的功效,起首你能使用它举行MySQL所撑持的任何运算,比方:SELECT1+1,它将前往2;其次,你也能使用它给变量赋值,而在PHP中,使用SELECT语句的这类功效,你就能够自在地使用MySQL的函数为PHP程序举行各类运算,并赋值给变量。在良多的时分,你会发明MySQL具有很多比PHP更加功效壮大的函数。
STRAIGHT_JOIN、SQL_SMALL_RESULT、SQL_BIG_RESULT、HIGH_PRIORITY是MySQL对ANSISQL92的扩大。假如优化器以非最好序次联合表,利用STRAIGHT_JOIN能够加速查询。
SQL_SMALL_RESULT和SQL_BIG_RESULT是一组绝对的关头词。它们必需与GROUPBY、DISTINCT或DISTINCTROW一同利用。SQL_SMALL_RESULT告诉优化器了局会很小,请求MySQL利用一时表存储终极的表而不是利用排序;反之,SQL_BIG_RESULT告诉优化器了局会很小,请求MySQL利用排序而不是做一时表。
HIGH_PRIORITY将付与SELECT比一个更新表的语句更高的优先级,使之能够举行一次优先的疾速的查询。
以上四个关头词的利用办法切实其实对照流畅。侥幸的是,在尽年夜多半情形下,在MySQL中我们完整能够选择不利用这四个关头词。
DISTINCT、DISTINCTROW对查询前往的了局集供应了一个最基础可是很有效的过滤。那就是了局会合只含非反复行。在这里要注重的是,对关头词DISTINCT、DISTINCTROW来讲,空值都是相称的,不管有几NULL值,只选择一个。而ALL的用法就有多此一举之嫌了。它对了局集的发生没有任何影响。
INTO{OUTFILE|DUMPFILE}file_nameexport_options,将了局集写进一个文件。文件在服务器主机上被创立,而且不克不及是已存在的。语句中的export_options部分的语法与用在LOADDATAINFILE语句中的FIELDS和LINES子句中的不异,我们将在MySQL进阶_LOADDATA篇中具体会商它。而OUTFILE与DUMPFILE的关头字的区分是:后前只写一行到文件,并没有任何列或行停止。如果你在一个遵循GPL的自由(开源)项目中使用MySQL,那么你可以遵循GPL协议使用MySQL。然而,如果你的项目不是在GPL协议下的话,你必须为使用MySQL来支付许可费用,或者你可能因为这个因素而将你的项目改为遵循GPL。
小妖女 该用户已被删除
沙发
发表于 2015-1-19 17:27:40 | 只看该作者
入门没那么困难,精通没那么容易
不帅 该用户已被删除
板凳
发表于 2015-1-24 16:32:00 | 只看该作者
始终遗憾SQLServer的登陆无法分配CPU/内存占用等指标数。如果你的SQLServer给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。
精灵巫婆 该用户已被删除
地板
发表于 2015-2-2 10:50:46 来自手机 | 只看该作者
同样会为索引视图等应用带来麻烦。看看行级和事务级的快照数据放在tempdb中,就能感觉到目前架构的尴尬。
小女巫 该用户已被删除
5#
发表于 2015-2-7 18:24:43 | 只看该作者
SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)
柔情似水 该用户已被删除
6#
发表于 2015-2-22 22:08:09 | 只看该作者
对于微软系列的东西除了一遍遍尝试还真没有太好的办法
活着的死人 该用户已被删除
7#
发表于 2015-3-7 03:33:29 | 只看该作者
而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。
简单生活 该用户已被删除
8#
发表于 2015-3-14 10:47:36 | 只看该作者
如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。
爱飞 该用户已被删除
9#
发表于 2015-3-21 03:39:20 | 只看该作者
原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-9-21 00:41

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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