首页 \ 问答 \ mysql数据库 sql语句执行的原理

mysql数据库 sql语句执行的原理

本人对数据库底层还是新手,肯定高人指点迷津:  mysql数据库 执行sql语句的时候如:select name from user where uid=10 执行的时候会去先根据where条件筛选数据,但是mysql的中的left join、right join等联合查询时怎么执行的呢? 如sql【select a.title,b.content from a left join b on a.id = b.tid where a.id = 10 】,他的执行原理什么样的呢?肯定高手指点迷津
更新时间:2023-07-17 19:07

最新回答

网站访问速度问题其实应该居于站长应该考虑的最优先的问题,网站访问慢直接关系到网站访问量,用户体验度的问题。今天我就来给大家介绍几种通用的解决网站太慢的方法。
1.通过浏览器插件找出网页请求过程中的加载时间问题
这里推荐使用火狐的Firefbug或者谷歌浏览器的开发人员工具(F12),这里以firebug为例,装好firebug后,在打开firebug的情况下,刷新你的网站页面,如图:



通过firebug插件中的网络选项卡,我可以知道网页在加载过程中,所有的请求的访问速度情况,如上面那条,通过对具体请求的详情查看,我知道了这个域名光解析竟然用了2秒钟,而等待响应竟然出有近2分钟。然后接收数据时间也不少。然后通过firebug还可以找出哪个请求链接用的时间最长。
2.通过浏览器插件,找出服务器的优化不足
我们将展开比较慢的请求,看详细的信息头:
URL:http://lszm.zmke.com/wp-includes/css/admin-bar.css?ver=20111209
Cache-Control max-age=0
通过头信息,发现,CSS文件做为静态资源,它的Cache-Control的最大缓存量竟然是0,也就是说它禁止了缓存,那么对于每个用户的访问来说,每次可能就都需要从我的服务器上请求到资源,那显示服务器压力也大,用户访问也慢,而我去看下百度的响应头信息
URL:http://upload.chinaz.com/2011/1221/1324434300126.gif
Cache-Control   max-age=315360000
Expires     Thu,16 Dec 2021 06:53:18 GMT
Accept-Encoding     gzip, deflate
百的图片在浏览器上的缓存过期时间是10年,到2021年,而页面也是经过gzip压缩过的,缓存最大值也是非常大。
而百度的访问过程也正说明了这一点,通过这样的优化,从服务器上加载的数据量不再是全部,总量86KB,其中33KB来自浏览器缓存



3.解决问题
通过上面的方法得到的结论是,对于这个网站,主要要解决的问题是:
a.解析的问题
b.服务器的优化
c.网络的问题
解析问题其实很好办,国内有很多免费的DNS提供商,如果我们存在这样的问题,直接换个DNS提供商就行了。这里主要是来讲下缓存时间的设置,以NGINX服务器为例。
打开nginx的配置文件,
location / {
root /var/www;
index index.html index.htm index.php;
}
location ~* ^.+\.(jpg|jpeg|swf|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|mov) {
root /var/www;
access_log off;
expires 350d;
}
在location中,我们可以对静态文件做专门的缓存处理,添加expires项,即过期时间,在这里我设置的是350天,也就是说如果用户没有清空自己的浏览器缓存,那么在访问过一次之后,在后面的二次访问时,都会直接从浏览器缓存中拿到图片,而不再经过我的服务器,这样显然,对于图片、静态资源很多的网站,这样提高速度的效果很明显。
13 http {
14 include /etc/nginx/mime.types;
15
16 access_log /dev/null;
17
18 sendfile on;
19 tcp_nopush on;
20
21 #keepalive_timeout 0;
22 keepalive_timeout 0;
23 tcp_nodelay on;
24 client_max_body_size 160m;
25 gzip on;
26 gzip_disable "MSIE [1-6]\.(?!.*SV1)";
在http区域中,我们设置gzip为on,在后面我还做了一些正则参数,即IE1-6是不压缩的,因为IE1-6对压缩支持不是很好。
做好这二项后,然后重启下nignx服务器,就开始生效了。
当然有的同学的网站可能自己还接触不到服务器这一层,如虚拟主机用户等,在这里,我介绍大家使用加速乐(www.jiasule.com)的免费CDN服务,加入后,CDN的各节点就会将上述的问题妥善解决,包括域名解析、电信网通的互通问题等。看下效果:



最后:当然,加速并不是万能的,选择一款好的服务器是最根本的,如果上面的方法还不能解决问题,那就得考虑从硬件上提升了。

相关问答

更多
  • 原来卡、死机或反应慢吗?死机或反应慢前你都做了什么操做?下载了什么 软件插件或补丁?升级了硬件了吗?(如果卡前下载了软件或打了补丁全部卸载试试) 1、 杀毒软件安装多,并且全部打开监控,少开监控或不开监控,经常查杀病毒就是了。 2、软件或驱动与系统不兼容,重装或升级驱动。 3、系统问题或有 木马,查杀一下木马还原一下系统或重装(下载Win清理助手查杀木马)。 4、 内存、 显卡、 硬盘坏道等 故障,另外电压不稳也可以引起死机故障的发生(如果内存太小,升级一下内存)。 5、一般常见的CPU或显卡等硬件温度过高 ...
  • 首先建议你使用nginx+tomcat实现动静分离,然后再分析系统瓶颈。 动态页面较慢可能原因出现在数据库操作上,可以调试一下数据库的查询时间会不会太长,有没有使用 连接池,mysql的连接数够不够,查询完后连接有没有关闭。 再看下tomcat内存、连接数有没有调整过,这些连接数都开大后 别忘了 操作系统的文件连接数也相应开大。 最后再来看一下 代码实现有没有问题,业务里sql查询次数过多。 经过上面的优化后一般就能解决 你的问题了,如果经过上面的优化后还有问题可以再联系我,如何用工具去分析系统。
  • 是apache吧 慢的话一般是配置达不到访问量需求导致的。也可以试试nginx。 P.S.服务器优化是门学问,应该是LSA的工作了。要各种精打细算,不是网上找一堆不明就里的代码来编译就能解决的。
  • 可以用百度站长提供的工具检测一下速度慢在哪,有针对性的做一些优化提速。我站上有一些wordpress 相关的优化说明,我的环境: aliyun + mysql + php + nginx + wordpress,速度还可以 当然你也可以在用chrome访问你的网站时直接看到加载各个组件时消耗掉的时间,更直观
  • 在对应的zookeeper-3.4.6/conf 下有一个文件zoo_sample.cfg的这个文件里面配置了监听客户端连接的端口等一些信息,Zookeeper 在启动时会找zoo.cfg这个文件作为默认配置文件,
  • 网站的价钱,其实是由你自己的需求来定的! 第一:硬件投入;常说的域名,空间(常用小规模的虚拟主机,大一点的服务器托管,大规模的就是建自己的机房),带宽(常见的100m共享,独享,光纤接入). 第二:网站的开发;设计静态页面(不是不会动的页面,早期的企业简单宣传只需要几个简单的页面几个连接,网页的内容是固定的,没有交互的功能),动态页面(主流技术asp,php,jsp,cgi等等...网页的内容是由一些变量控制的如:时间,后台的管理等等.可提供交互的功能) 第三:网站的后期维护,你可以找专职的人来更新和丰富内 ...
  • 一 可能是网络的问题,你试一下换个地方注册看看。 二 就是ORACLE关闭了注册, 三 你注册有问题,因为他有个选项是,美国制裁还是禁止的地区,不给注册。还有就是可能的话尽量在国内下载。
  • 下载速度一般和现实的100mps和50mps没有太大的关系,下载速度慢一般有两个原因,一是你在网上找到的资源不太好,有的资源下载速度甚至低于10k,建议你重新找一个下载资源。第二是你在学校或者公司上网,这么多人再用肯定要慢,或者你用的是无线宽带,无限肯定不如有线,这就无法解决了。 我这里还有几个小技巧希望能对你有帮助。 1任务数不要开太多,最好低于3个同时进行的任务。 2下载指定目录放在D盘 3限制上传速度:不限制上传速度将很大程度上降低你的下载速度。经过试验,限制上传速度为1KB/S时的下载速度为250K ...
  • 然后把相关PHP程序的网站发布到服务器上。是可以访问的。然后又发布了许多也是PHP的网站都是正常的。但是运行一段时间一个PHP的网站访问时打开成了空白.com的页面,不管是打开什么样的PHP页面都是空白的。其他的html或是asp的都是可以打开的,跟他在同一个环境运行的其他PHP网站也是可以正
  • 提高App Store下载速度设置教程 Windows设置步骤 1. 在任务栏点击网络连接图标,打开网络和共享中心; 2. 点击左侧“更改适配器设置”; 3. 找到当前使用的网络连接,右键选择“属性”; 4. 找到“Internet协议版本 4”,单击,然后点击“属性”; 5. 选择“使用下面的DNS地址”在“首选DNS服务器”输入“178.79.131.110”,“备用DNS服务器”设置为“8.8.8.8”,点击确定。 完成上述设置后,在itunes里下载App就可以体验到加速效果了。 Win XP操作流 ...

相关文章

更多

最新问答

更多
  • 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
  • 如何通过引用返回对象?(How is returning an object by reference possible?)
  • 矩阵如何存储在内存中?(How are matrices stored in memory?)
  • 每个请求的Java新会话?(Java New Session For Each Request?)
  • css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
  • 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
  • xcode语法颜色编码解释?(xcode syntax color coding explained?)
  • 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
  • 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
  • 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
  • 西安哪有PLC可控制编程的培训
  • 在Entity Framework中选择基类(Select base class in Entity Framework)
  • 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
  • 电脑二级VF有什么用
  • Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
  • 金华英语角.
  • 手机软件如何制作
  • 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
  • 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
  • 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
  • Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
  • 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
  • python的访问器方法有哪些
  • DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
  • 在Ruby中对组合进行排序(Sorting a combination in Ruby)
  • 网站开发的流程?
  • 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
  • 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
  • 透明度错误IE11(Transparency bug IE11)
  • linux的基本操作命令。。。