-
mysql的sql语句优化及效率0
mysql数据库建表语句如下,也可看附件。
一共四张表——A老师表,B课程表,C分数表,D学生表
A与B是一对多
B与C是一对多
C与D是多对一/* Navicat MySQL Data Transfer Source Server : localhost_3306 Source Server Version : 50147 Source Host : localhost:3306 Source Database : test Target Server Type : MYSQL Target Server Version : 50147 File Encoding : 65001 Date: 2013-07-24 22:02:32 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `text_course` -- ---------------------------- DROP TABLE IF EXISTS `text_course`; CREATE TABLE `text_course` ( `cno` varchar(255) NOT NULL, `cname` varchar(255) NOT NULL, `tno` varchar(255) NOT NULL, PRIMARY KEY (`cno`,`tno`), KEY `tno` (`tno`), KEY `cno` (`cno`), CONSTRAINT `text_course_ibfk_1` FOREIGN KEY (`tno`) REFERENCES `text_teacher` (`tno`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of text_course -- ---------------------------- INSERT INTO `text_course` VALUES ('c001', 'J2SE', 't002'); INSERT INTO `text_course` VALUES ('c002', 'Java Web', 't002'); INSERT INTO `text_course` VALUES ('c003', 'SSH', 't001'); INSERT INTO `text_course` VALUES ('c004', 'Oracle', 't001'); INSERT INTO `text_course` VALUES ('c005', 'SQL SERVER 2005', 't003'); INSERT INTO `text_course` VALUES ('c006', 'C#', 't003'); INSERT INTO `text_course` VALUES ('c007', 'JavaScript', 't002'); INSERT INTO `text_course` VALUES ('c008', 'DIV+CSS', 't001'); INSERT INTO `text_course` VALUES ('c009', 'PHP', 't003'); INSERT INTO `text_course` VALUES ('c010', 'EJB3.0', 't002'); -- ---------------------------- -- Table structure for `text_sc` -- ---------------------------- DROP TABLE IF EXISTS `text_sc`; CREATE TABLE `text_sc` ( `sno` varchar(255) NOT NULL, `cno` varchar(255) NOT NULL, `score` int(11) NOT NULL, PRIMARY KEY (`sno`,`cno`), KEY `cno` (`cno`), CONSTRAINT `text_sc_ibfk_2` FOREIGN KEY (`cno`) REFERENCES `text_course` (`cno`), CONSTRAINT `text_sc_ibfk_1` FOREIGN KEY (`sno`) REFERENCES `text_student` (`sno`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of text_sc -- ---------------------------- INSERT INTO `text_sc` VALUES ('s001', 'c001', '79'); INSERT INTO `text_sc` VALUES ('s001', 'c002', '83'); INSERT INTO `text_sc` VALUES ('s001', 'c003', '59'); INSERT INTO `text_sc` VALUES ('s002', 'c001', '81'); INSERT INTO `text_sc` VALUES ('s002', 'c002', '73'); INSERT INTO `text_sc` VALUES ('s003', 'c001', '82'); INSERT INTO `text_sc` VALUES ('s003', 'c002', '82'); INSERT INTO `text_sc` VALUES ('s004', 'c001', '61'); -- ---------------------------- -- Table structure for `text_student` -- ---------------------------- DROP TABLE IF EXISTS `text_student`; CREATE TABLE `text_student` ( `sno` varchar(255) NOT NULL, `sname` varchar(255) NOT NULL, `sage` int(11) NOT NULL, `ssex` varchar(255) NOT NULL, PRIMARY KEY (`sno`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of text_student -- ---------------------------- INSERT INTO `text_student` VALUES ('s001', '张三', '23', '男'); INSERT INTO `text_student` VALUES ('s002', '李四', '23', '男'); INSERT INTO `text_student` VALUES ('s003', '吴鹏', '25', '男'); INSERT INTO `text_student` VALUES ('s004', '琴沁', '20', '女'); INSERT INTO `text_student` VALUES ('s005', '王丽', '20', '女'); INSERT INTO `text_student` VALUES ('s006', '李波', '21', '男'); INSERT INTO `text_student` VALUES ('s007', '刘玉', '21', '男'); INSERT INTO `text_student` VALUES ('s008', '萧蓉', '21', '女'); INSERT INTO `text_student` VALUES ('s009', '陈萧晓', '23', '女'); INSERT INTO `text_student` VALUES ('s010', '陈美', '22', '女'); -- ---------------------------- -- Table structure for `text_teacher` -- ---------------------------- DROP TABLE IF EXISTS `text_teacher`; CREATE TABLE `text_teacher` ( `tno` varchar(255) NOT NULL, `tname` varchar(255) NOT NULL, PRIMARY KEY (`tno`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of text_teacher -- ---------------------------- INSERT INTO `text_teacher` VALUES ('t001', '刘阳'); INSERT INTO `text_teacher` VALUES ('t002', '谌燕'); INSERT INTO `text_teacher` VALUES ('t003', '胡明星');
------------------------------------------------------
现在我要做的查询是:
/*查询没学过“谌燕”老师课的同学的学号、姓名*/
我写个三种查询语句,那么其在性能或其他方面具体的差别在哪里?或者有没有更好的语句或其他建议
具体三个语句如下:select SNO,SNAME,TNAME from ( select student.SNO as SNO, student.SNAME as SNAME, student.SAGE as SAGE, student.SSEX as SSEX, score.SCORE as SCORE, course.CNAME as CNAME, teacher.TNAME as TNAME from TEXT_STUDENT student right join TEXT_SC score on student.SNO=score.SNO left join TEXT_COURSE course on score.CNO=course.CNO left join TEXT_TEACHER teacher on course.TNO=teacher.TNO ) oop where oop.tname!='谌燕'
select student.SNO,student.SNAME,teacher.TNAME from TEXT_STUDENT student right join TEXT_SC score on student.SNO=score.SNO left join TEXT_COURSE course on score.CNO=course.CNO left join TEXT_TEACHER teacher on course.TNO=teacher.TNO where teacher.tname!='谌燕'
select student.SNO,student.SNAME,teacher.TNAME from TEXT_STUDENT student, TEXT_TEACHER teacher, TEXT_SC score , TEXT_COURSE course WHERE student.SNO=score.SNO and score.CNO=course.CNO and course.TNO=teacher.TNO and teacher.tname!='谌燕'
2013年7月25日 10:52
目前还没有答案
相关推荐
本项目提供了一个Java源码工具,能够帮助用户便捷地将Oracle SQL语句转换为MySQL SQL语句。 Oracle SQL与MySQL SQL的主要差异在于以下几个方面: 1. **数据类型**:Oracle支持的数据类型如NUMBER、LONG、RAW等在...
3. SQL语句优化的重要性:在数据库操作中,SQL语句的效率直接影响到应用的运行性能。因为数据库系统是多用户环境,对SQL语句的优化可以减少资源的竞争,提高并发处理能力。 4. SQL语句优化相关原理:优化原理包括但...
《Effective MySQL之SQL语句最优化》提供了很多可以用于... ●用SQL语句优化的生命周期来识别、确认、分析然后优化SQL语句,并检查优化的结果; ●学习使用不为常人所知的一些性能技巧来改进索引效率并简化SQL语句。
综上所述,MySQL数据库的优化涉及到多个方面,包括数据库设计、SQL语句优化、数据配置以及硬件与操作系统配置等。通过综合运用这些优化方法,可以有效提升数据库系统的性能和稳定性,为用户提供更好的服务体验。
以下是十个 SQL 语句优化技巧来提升 MYSQL 查询效率: 1. 优化 MySQL 查询缓存 MySQL 查询缓存可以启用高速查询缓存,让数据库引擎在后台悄悄的处理是提高性能的最有效方法之一。当同一个查询被执行多次时,如果...
《Effective MySQL之SQL语句最优化》是一本深入探讨如何提升数据库性能的专业手册,它针对SQL语句的优化提供了一系列实用且高效的策略。在数据库管理领域,SQL优化是提升系统性能的关键环节,尤其是在处理大数据量时...
MySQL SQL语句练习题及答案 本资源提供了 MySQL SQL 语句的练习题及答案,涵盖了创建表、插入数据、删除数据、更新数据、查询数据等多方面的知识点。 一、创建表 在 MySQL 中,创建表使用 CREATE TABLE 语句。...
sql语句优化.chmmssql优化 mysql优化 oracle优化
本篇文章将依据书中的核心概念,结合实际应用,详细介绍SQL语句优化的关键知识点。 首先,理解索引及其作用是SQL优化的基础。索引是数据库管理系统用来加速数据检索的数据结构。合理创建和使用索引可以显著提高查询...
"Effective MySQL之SQL语句最优化"这本书深入探讨了如何通过优化SQL查询来提高MySQL数据库的效率。以下是基于这个主题的一些关键知识点: 1. **索引优化**:索引是数据库性能提升的核心。书中的内容可能涵盖如何...
SQL 查询优化(提高 MySQL 数据库查询效率的几个技巧) 在 MySQL 数据库中,查询优化是一个非常重要的方面。在实际应用中,高效的查询可以提高整个系统的性能和响应速度。下面我们将介绍几个提高 MySQL 数据库查询...
执行计划可以帮助我们了解SQL语句的执行过程,从而对其进行优化。执行计划可以通过EXPLAIN语句来查看。 二、SELECT语句优化 SELECT语句是MySQL数据库中最常用的语句之一。SELECT语句的优化是非常重要的。通过优化...
MySQL SQL 语句实践指南 MySQL 是一种广泛使用的关系数据库管理系统,SQL 语句是其核心组成部分。...这六个有用的 MySQL SQL 语句可以帮助您更好地使用 MySQL 数据库,提高工作效率和数据处理能力。
### SQL语句优化心得 #### 引言 在软件开发过程中,SQL语句的编写往往直接关系到应用程序的性能表现。特别是在系统初期阶段,由于数据量较小,即使编写了一些效率较低的SQL语句,也可能不会立即暴露出来。然而,...
标题 "PB 从SQL语句获取数据存储(MySQL)" 指的是使用PowerBuilder (PB) 开发工具,通过SQL语句从MySQL数据库中检索和处理数据存储的过程。在这个Demo中,PB11.5 版本被用作开发环境,而MySQL作为后台数据库系统。...
《EffectiveMySQL之SQL语句最优化》提供了很多可以用于改进数据库和应用程序性能的最佳实践技巧,并对这些技巧做了详细的解释。《EffectiveMySQL之SQL语句最优化》希望能够通过一步步详细介绍SQL优化的方法,帮助...
本资源“最新整理的常用sql语句及优化大全”涵盖了SQL的基础使用和性能优化,对于数据库管理员、开发人员或是学习者来说,都是极具价值的学习资料。 一、SQL常用语句 1. **数据查询**:`SELECT`语句是SQL中最基本...
"Oracle数据库sql转换mysql数据库工具" 提供了解决这一问题的解决方案,允许用户将Oracle数据库中的SQL语句或数据结构转换为MySQL兼容的格式。 在数据库迁移过程中,这样的工具至关重要,因为它可以简化工作流程,...
mysql sql编程入门级资料 包括数据库的增、删、改、查。
在数据库管理中,SQL语句的执行效率是关键因素之一,尤其对于大数据量的应用来说,优化SQL性能至关重要。本文将详细探讨几个关于优化SQL语句执行效率的重要注意事项,旨在帮助数据库管理员和开发者提升系统性能。 ...