登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書

『簡體書』MySQL应用实战与性能调优

書城自編碼: 3747462
分類:簡體書→大陸圖書→計算機/網絡數據庫
作者: 张文亮 编著
國際書號(ISBN): 9787111700982
出版社: 机械工业出版社
出版日期: 2022-04-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:HK$ 98.8

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
北京三万里
《 北京三万里 》

售價:HK$ 93.6
争吵的恋人:我们为什么相爱,又为什么争吵
《 争吵的恋人:我们为什么相爱,又为什么争吵 》

售價:HK$ 70.8
秘史:英国情报机构的崛起
《 秘史:英国情报机构的崛起 》

售價:HK$ 81.6
李鸿章及其时代:中西方世界的历史撞击
《 李鸿章及其时代:中西方世界的历史撞击 》

售價:HK$ 70.8
剑桥罗马骑士等级史(历史学堂)
《 剑桥罗马骑士等级史(历史学堂) 》

售價:HK$ 273.6
脉络:小我与大势
《 脉络:小我与大势 》

售價:HK$ 103.8
权势转移:近代中国的思想与社会(修订版)
《 权势转移:近代中国的思想与社会(修订版) 》

售價:HK$ 93.2
欧洲四千年
《 欧洲四千年 》

售價:HK$ 93.2

 

內容簡介:
MySQL是流行的关系型数据库管理系统之一。书中从数据设计和数据库的基本使用开始介绍,逐步深入一些复杂的内容,包括连接查询的使用、子查询、字符串函数、数字函数、日期函数以及新版本的窗口函数,还包括存储过程、游标、创建高效的索引以及SQL优化技巧等。通过大量的示例应用,系统地讲述读者应该掌握的知识,以及对于数据库的优化,其中包括MySQL的架构以及MySQL 8的新特征,也包含MySQL基准测试和性能剖析,数据库软硬件性能优化,内存优化,复制、备份和恢复,高可用与高可扩展性,尤其对于MySQL中各种锁机制以及MySQL的MVCC的核心原理都一一通过理论和大量的示例进行解析,以方便读者理解。
目錄
前言第1章 MySQL入门和容器化部署11.1 MySQL介绍11.2 MySQL 8安装和升级21.2.1 安装前说明21.2.2 在Windows上安装MySQL21.2.3 在Linux上安装MySQL81.2.4 在Docker上安装MySQL12第2章 什么样的数据库设计才是优秀的172.1 关系型数据库设计理论172.2 连接数据库和基本信息查询212.2.1 连接数据库212.2.2 基本信息查询212.3 数据库和表252.3.1 创建数据库262.3.2 创建表272.4 数据类型和类型异常处理282.4.1 数字数据类型282.4.2 日期和时间数据类型322.4.3 字符串数据类型332.4.4 JSON数据类型39第3章 SQL语句全面解析和应用实战443.1 数据库操作443.2 数据表操作463.2.1 创建数据表463.2.2 数据表的修改与删除483.2.3 约束493.3 数据查询503.4 数据插入513.5 where(筛选)523.6 and和or(与和或)543.7 between(范围查找)553.8 distinct(去重关键字)563.9 update(修改或更新)563.10 delete(删除)583.11 like(模糊匹配)593.12 order by(排序)613.13 group by(分组)623.14 with rollup(分组统计再统计)633.15 having(分组筛选)643.16 union和union all(组合查询)643.17 join(连接查询)673.17.1 inner join(内连接)683.17.2 left join(左连接)693.17.3 right join(右连接)703.18 in和not in(多关键字筛选)713.19 exists和not exists(是否返回结果集)723.20 复制表733.21 临时表74第4章 MySQL函数大全和高效率汇总统计实战764.1 MySQL字符串函数764.1.1 character_length(s):返回字符串长度764.1.2 concat(s1,s2,(,sn):字符串合并774.1.3 format(x,n):数字格式化774.1.4 lpad(s1,len,s2):字符串填充774.1.5 field(s,s1,s2,():返回字符串出现的位置774.1.6 insert(s1,x,len,s2):替换字符串784.1.7 lcase(s):把字符串中的所有字母转换为小写字母784.1.8 ucase(s):把字符串中的所有字母转换为大写字母784.1.9 strcmp(s1,s2):比较字符串大小784.1.10 replace(s,s1,s2):字符串替换794.1.11 position(s1 in s):获取子字符串在字符串中出现的位置794.1.12 md5(s):字符串加密794.1.13 inet_aton(ip):把IP地址转换为数字804.1.14 inet_ntoa (s):把数字转换为IP地址804.2 MySQL数字函数804.2.1 ceil(x):返回不小于x的小整数804.2.2 ceiling(x):返回不小于x的小整数804.2.3 floor(x):返回不大于x的整数814.2.4 round(x):返回接近x的整数814.2.5 max(expression):求值814.2.6 min(expression):求小值824.2.7 sum(expression):求总和824.2.8 avg(expression):求平均值834.2.9 count(expression):求总记录数834.3 MySQL日期函数844.3.1 adddate(d,n):返回指定日期加上指定天数后的日期844.3.2 addtime(t,n):返回指定时间加上指定时间后的时间844.3.3 curdate():返回当前日期854.3.4 datediff(d1,d2):返回两个日期相隔的天数854.3.5 dayofyear(d):返回指定日期是本年的第几天854.3.6 extract(type from d):根据对应格式返回日期854.3.7 now():返回当前日期和时间864.3.8 quarter(d):返回日期对应的季度数874.3.9 second(t):返回指定时间中的秒数874.3.10 timediff(time1, time2):计算时间差874.3.11 date(t):从指定日期时间中提取日期值884.3.12 hour(t):返回指定时间中的小时数884.3.13 time(expression):提取日期时间参数中的时间部分884.3.14 time_format(t,f):根据表达式显示时间884.3.15 year(d):返回指定日期的年份894.4 MySQL高级函数894.4.1 cast(x as type):数据类型转换894.4.2 coalesce(expr1, (, exprn):返回个非空表达式894.4.3 if(expr,v1,v2):表达式判断904.4.4 ifnull(v1,v2):null替换904.4.5 isnull(expression):判断表达式是否为null904.4.6 nullif(expr1, expr2):字符串相等则返回null914.4.7 last_insert_id():返回近生成的自增ID914.4.8 case expression:表达式分支924.5 MySQL over():窗口函数汇总分析924.5.1 row _number():顺序排名函数944.5.2 rank():跳级排名函数954.5.3 dense_rank():不跳级排名函数964.5.4 lag(expr,n):前分析函数,返回前n行的值964.5.5 lead(expr,n):后分析函数,返回后n行的值984.5.6 first_value(expr):头尾函数,返回个值984.5.7 last_value(expr):头尾函数,返回后一个值994.5.8 nth_value(expr,n):从结果集中的第n行获取值1014.5.9 ntile(n):数据集分桶1024.5.10 sum() over(expr):聚合求和1034.5.11 avg() over(expr):聚合求平均值1044.5.12 max() over(expr):聚合求值1044.5.13 min() over(expr):聚合求小值1054.5.14 count() over(expr):聚合总条数105第5章 MySQL大表快速优化诀窍1075.1 分区1075.1.1 分区类型1085.1.2 范围分区1085.1.3 列表分区1115.1.4 列分区1135.1.5 哈希分区1215.1.6 键分区1245.1.7 子分区1255.1.8 MySQL分区对null的处理1265.1.9 分区管理1325.1.10 分区的限制1385.2 视图1425.3 存储过程1455.3.1 存储过程的创建和调用1455.3.2 带参数的存储过程1475.3.3 变量1505.3.4 注释1515.3.5 存储过程的修改和删除1525.3.6 存储过程的控制语句1525.4 游标1545.5 字符集和排序规则1575.5.1 MySQL中的字符集和排序规则1575.5.2 列字符集和排序规则1605.5.3 使用collate指定查询排序规则160第6章 MySQL创建高效的索引1626.1 索引1626.2 创建索引的指导原则1656.3 B-Tree索引和哈希索引的比较1666.4 高效SQL分析利器的执行计划分析1676.5 高效SQL的索引检索原理1836.5.1 主键索引1836.5.2 普通索引1876.5.3 复合索引1896.6 索引的使用技巧与SQL优化实战1916.6.1 避免回表查询1916.6.2 尽量使用联合索引1916.6.3 索引条件下推优化1926.6.4 避免全表扫描1926.6.5 负向查询不能使用索引1926.6.6 前导模糊查询不能使用索引1936.6.7 在字段上计算不能命中索引1936.6.8 查询条件类型不一致不能命中索引1936.6.9 明确知道只返回一条记录可以使用limit进行限制1936.6.10 limit分页优化1936.6.11 使用表内连接进行limit分页优化1946.6.12 union all优化(基于MySQL 8.0+)1946.6.13 or优化(基于MySQL 8.0+)1946.6.14 count(*)优化1946.6.15 on duplicate key update优化195第7章 InnoDB存储引擎揭秘和优化实战1967.1 InnoDB存储引擎实践1987.2 InnoDB和ACID模型1987.2.1 MySQL事务处理的两种方法1997.2.2 InnoDB MVCC2017.3 锁机制2017.3.1 表级锁2017.3.2 行级锁2027.3.3 共享锁2027.3.4 排他锁2037.3.5 意向锁2057.3.6 乐观锁2057.3.7 悲观锁2067.3.8 间隙锁2067.3.9 记录锁2087.3.10 临键锁2087.3.11 死锁2097.4 事务隔离级别2097.5 InnoDB内存结构解析和优化实战2137.5.1 缓冲池原理和优化2137.5.2 变更缓冲区原理与优化2247.5.3 自适应哈希索引原理与配置2267.5.4 日志缓冲区2267.6 InnoDB表实战调优2277.6.1 优化InnoDB表的存储2277.6.2 InnoDB事务处理优化2297.6.3 InnoDB只读事务优化2297.6.4 优化InnoDB重做日志2297.6.5 InnoDB磁盘I/O优化2347.6.6 配置InnoDB线程并发数量2347.6.7 配置InnoDB的I/O读写后台线程数量2357.6.8 InnoDB的并行读线程数量2357.6.9 InnoDB的I/O容量236第8章 MySQL基准测试数据的备份与还原2378.1 基准测试2378.1.1 Sysbench介绍2388.1.2 Sysbench测试实操2398.2 备份2438.3 还原2448.3.1 利用source命令导入数据库2448.3.2 利用load data导入数据2448.3.3 利用mysqlimport导入数据244第9章 MySQL高性能架构的读写分离2459.1 读写分离2459.2 MySQL主从复制2469.3 MySQL主从复制架构的搭建2479.3.1 配置主节点2479.3.2 配置从节点2489.3.3 主从复制249附录 常用函数速查表251A.1 MySQL字符串函数251A.1.1 ASCII(s):返回字符串的ASCII码251A.1.2 char_length(s):返回字符串长度251A.1.3 character_length(s):返回字符串长度252A.1.4 concat(s1,s2,(,sn):字符串合并252A.1.5 concat_WS(x, s1,s2,(,sn):字符串合并252A.1.6 field(s,s1,s2,():返回字符串出现的位置253A.1.7 find_in_set(s1,s2):返回字符串的匹配位置253A.1.8 format(x,n):数字格式化253A.1.9 insert(s1,x,len,s2):替换字符串253A.1.10 locate(s1,s):获取字符串出现的位置254A.1.11 lcase(s):把字符串中的所有字母转换为小写字母254A.1.12 left(s,n):返回字符串的前n个字符254A.1.13 lower(s):把字符串中的所有字母转换为小写字母254A.1.14 lpad(s1,len,s2):字符串填充255A.1.15 ltrim(s):去掉字符串开始处的空格255A.1.16 mid(s,n,len):从字符串的指定位置截取子字符串255A.1.17 replace(s,s1,s2):字符串替换256A.1.18 reverse(s):字符串反转256A.1.19 right(s,n):返回字符串后n个字符256A.1.20 rpad(s1,len,s2):在字符串中填充相应字符串256A.1.21 position(s1 in s):获取子字符串在字符串中出现的位置257A.1.22 repeat(s,n):字符串重复拼接257A.1.23 substring_index(s, s2, number):返回字符串中第n个出现的子字符串257A.1.24 trim(s):去掉字符串开始和结尾处的空格258A.1.25 ucase(s):把字符串中的所有字母转换为大写字母258A.1.26 rtrim(s):去掉字符串结尾处的空格258A.1.27 strcmp(s1,s2):比较字符串的大小258A.1.28 substr(s, start, length):从字符串中截取子字符串259A.1.29 substring(s, start, length):从字符串中截取子字符串259A.1.30 md5(s):字符串加密259A.1.31 inet_aton (ip):把IP地址转换为数字260A.1.32 inet_ntoa(s):把数字转换为IP地址260A.2 MySQL数字函数260A.2.1 abs(x):求值260A.2.2 sign(x):返回数字符号260A.2.3 acos(x):求反余弦值261A.2.4 asin(x):求反正弦值261A.2.5 atan (x):求反正切值261A.2.6 sin(x):求正弦值262A.2.7 cos(x):求余弦值262A.2.8 cot(x):求余切值262A.2.9 tan(x):求正切值262A.2.10 degrees(x):将弧度转换为角度263A.2.11 radians(x):将角度转换为弧度263A.2.12 exp(x):返回e的x次方263A.2.13 ceil(x):返回不小于x的小整数264A.2.14 ceiling(x):返回不小于x的小整数264A.2.15 floor(x):返回不大于x的整数264A.2.16 round(x):返回接近x的整数264A.2.17 greatest(expr1,expr2, ():返回列表中的值265A.2.18 least(expr1, expr2, expr3, ():返回列表中的小值265A.2.19 ln(x):求自然对数265A.2.20 log(x)或log(base, x):求对数266A.2.21 log10(x):求以10为底的对数266A.2.22 log2(x):求以2为底的对数266A.2.23 max(expression):求值267A.2.24 min(expression):求小值267A.2.25 sum(expression):求总和268A.2.26 avg(expression):求平均值268A.2.27 count(expression):求总记录数268A.2.28 mod(x,y):求余数269A.2.29 pow(x,y):求x的y次方269A.2.30 sqrt(x):求平方根269A.2.31 rand():求随机数270A.2.32 truncate(x,y):返回保留到小数点后n位的值270A.3 MySQL日期函数270A.3.1 adddate(d,n):返回指定日期加上指定天数后的日期270A.3.2 addtime(t,n):返回指定时间加上指定时间后的时间271A.3.3 curdate():返回当前日期271A.3.4 current_date():返回当前日期271A.3.5 current_time():返回当前时间272A.3.6 current_timestamp():返回当前日期和时间272A.3.7 curtime():返回当前时间272A.3.8 date(t):从指定日期时间中提取日期值272A.3.9 datediff(d1,d2):返回两个日期相隔的天数273A.3.10 date_add(d, interval expr type):给指定日期加上一个时间段后的日期273A.3.11 date_format(d,f):根据表达式显示日期273A.3.12 date_sub(date, interval expr type):从当前日期减去指定的时间间隔274A.3.13 day(d):返回日期值中的日值274A.3.14 dayname(d):返回指定日期是星期几274A.3.15 dayofmonth(d):返回指定日期是本月的第几天275A.3.16 dayofweek(d):返回指定日期是所在星期的第几天275A.3.17 dayofyear(d):返回指定日期是本年的第几天275A.3.18 extract (type from d):根据对应格式返回日期275A.3.19 from_days(n):返回元年加n天的日期277A.3.20 hour(t):返回指定时间中的小时数277A.3.21 last_day(d):返回给定日期所在月份的后一天277A.3.22 localtime():返回当前日期和时间277A.3.23 localtimestamp():返回当前日期和时间278A.3.24 makedate(year, day-of-year):时间组合天数278A.3.25 maketime(hour, minute, second):时间组合278A.3.26 microsecond(date):返回时间参数中的微秒数278A.3.27 minute(t):返回指定时间中的分钟数279A.3.28 monthname(d):返回日期中的月份名称279A.3.29 month(d):返回日期中的月份值279A.3.30
內容試閱
在工作中,我们经常使用基本的SQL语句,但是大部分用户只会简单的增、删、改、查,进一步可能就是创建索引,当索引没有起到作用时,基本再无招架之力。  针对MySQL的面试,90%以上都会问以下问题:   1)SQL语句是如何执行的?  2)索引的检索原理是什么,如何创建高效的索引?  3)如何提高索引的使用?  4)如何做到索引覆盖,如何避免回表查询,如何使用索引条件下推?  5)回滚日志、重做日志、二进制日志的作用是什么?  6)如何利用复合索引和前缀索引提高SQL性能?  7)事务的隔离是如何实现的?  8)InnoDB如何解决幻读和不可重复读问题?  9)表锁、行锁、排他锁、意向锁、间隙锁、记录锁、临键锁在MySQL中如何实现,它们解决了什么问题?  10)SQL服务慢,该如何排查?  11)除了索引外,如何根据自己的服务器设备来进行软硬件优化?  除了以上问题外,还有很多未列出的问题。为了解决这些问题,才有了本书。作者不只是简单地通过理论知识来讲述这些问题,还列举了大量的示例,比如每一种锁是如何使用的,如何通过代码来操作,旨在以示例和理论相结合的方式进行系统的讲述。对于想提升自己业务能力的读者来说,本书不仅提供了索引的优化,而且根据作者多年的DBA经验列举了大量的经典案例。本书可能不是很全面,但包含业务中80%以上的应用场景,对于没有深入研究过任何一种关系型数据库的读者来说,本书可能会为你开启学习数据库的大门。通过阅读本书,读者不仅能快速高效地解决业务问题,还能站在数据库管理员的角度来优化自己的数据库。此外,本书还提供了与MySQL内部工作原理相关的内容,读者越是了解MySQL的工作原理,就越能合理地解决工程中遇到的问题。  本书的资源文件可以登录机械工业出版社华章公司的网站(www.hzbook.com)下载,方法是:搜索到本书,然后在页面上的“资源下载”模块下载即可。如果下载有问题,请发送电子邮件至booksaga@126.com,邮件主题为“MySQL应用实战与性能调优”。如果读者有兴趣,也可以加入QQ技术交流群(823440562)参与讨论。  后,感谢各位读者选择了本书,希望读者有所收获,并且在使用MySQL的业务场景中学习到更多实践技巧。虽然作者对书中的内容尽量一一核实,但因水平所限,难免存在疏漏之处,敬请广大读者批评指正。作者会不断地完善此书,以此来回报读者对本书的支持。    张文亮    2021年10月

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.