随笔分类 -  SQL

摘要:转载自:https://www.cnblogs.com/knowledgesea/p/3672099.html 索引的概念 索引的用途:我们对数据查询及处理速度已成为衡量应用系统成败的标准,而采用索引来加快数据处理速度通常是最普遍采用的优化方法。 索引是什么:数据库中的索引类似于一本书的目录,在一本 阅读全文
posted @ 2019-05-05 13:51 上古时期的码农 阅读(142) 评论(0) 推荐(0)
摘要:sql脚本太大直接在数据库中执行会提示内存不足,我们看生成的脚本文件会发现每隔100条会有一个GO来分隔,这就好说了 在我将数据库的结构连同数据生成一个脚本文件db.sql 后,想在另外的电脑上恢复数据库,以便编程测试。然而,在我试图在SQL Server manager Studio上执行该脚本时 阅读全文
posted @ 2018-08-01 09:28 上古时期的码农 阅读(2221) 评论(0) 推荐(0)
摘要:转载自:https://www.cnblogs.com/knowledgesea/p/3696912.html 什么是表分区 一般情况下,我们建立数据库表时,表数据都存放在一个文件里。 但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这 阅读全文
posted @ 2018-07-23 17:38 上古时期的码农 阅读(261) 评论(0) 推荐(0)
摘要:查看所有表对应的数据量 查看数据库的总数据量 阅读全文
posted @ 2017-12-28 17:32 上古时期的码农 阅读(19239) 评论(0) 推荐(0)
摘要:当表之间有主外键关系时删除数据会被约束,添加、删除失败 解决办法,我们可以先把主外键关系的检查约束给关掉 → 然后删除数据 → 之后再把约束打开 查询出关掉所有外键约束的语句 查询出开启所有外键约束的语句,与上面的区别是将 NOCHECK 改为 CHECK 阅读全文
posted @ 2017-09-30 11:59 上古时期的码农 阅读(5713) 评论(0) 推荐(0)
摘要:转载自:http://www.cnblogs.com/CreateMyself/p/6906594.html 前言 本节我们来讲讲并发中最常见的情况存在即更新,在并发中若未存在行记录则插入,此时未处理好极容易出现插入重复键情况,本文我们来介绍对并发中存在就更新行记录的七种方案并且我们来综合分析最合适 阅读全文
posted @ 2017-06-02 10:02 上古时期的码农 阅读(229) 评论(0) 推荐(0)
摘要:网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。 这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。 1.对查询进行优化,要尽量避免全表扫描,首先应 阅读全文
posted @ 2017-05-04 10:33 上古时期的码农 阅读(205) 评论(0) 推荐(0)
摘要:今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优 阅读全文
posted @ 2017-02-21 13:37 上古时期的码农 阅读(2502) 评论(0) 推荐(0)
摘要:三国讲:话说天下大势,分久必合,合久必分;我们的数据库优化也需要这个“分”字。 当我们的数据量很小的时候,我们会把用户表,博客表,论坛表,闪存表等等都砸在一个库里,我们的业务增长的很好,在不久之后我们尽力的优化了查询,但是效果依然不佳,这时候用分字诀的时机到了。 如果你有先见之明的话,会给表名,存储 阅读全文
posted @ 2017-02-21 13:31 上古时期的码农 阅读(242) 评论(0) 推荐(0)
摘要:1. 纵向分表纵向分表是指将一个有20列的表根据列拆分成两个表一个表10列一个表11列,这样单个表的容量就会减少很多,可以提高查询的性能,并在一定程度上减少锁行,锁表带来的性能损耗。 纵向分表的原则是什么呢,应该怎样拆分呢?答案是根据业务逻辑的需要来拆分,对于一张表如果业务上分两次访问某一张表其中一 阅读全文
posted @ 2017-02-21 13:30 上古时期的码农 阅读(3583) 评论(0) 推荐(0)
摘要:什么是数据库分区?数据库分区是一种对表的横向分割,Sql server 2005企业版和之后的Sql server版本才提供这种技术,这种对表的横向分割不同于2000中的表分割,它对访问用户是透明的,用户并不会感觉的表被横向分割了。(2000中的表横向分割是建n个表例如按时间建表每月一个表,表名不同 阅读全文
posted @ 2017-02-21 13:29 上古时期的码农 阅读(201) 评论(0) 推荐(0)
摘要:USE [master] GO if exists (select * from sys.databases where name = 'Test_1') drop database Test_1 GO --创建新库,要演练分区所以我们会多创建两个文件组Test_A,Test_B,以便在后面的分区方案中使用。 CREATE DATABASE [Test_1] ON PRIMARY ( NAM... 阅读全文
posted @ 2017-02-21 13:28 上古时期的码农 阅读(165) 评论(0) 推荐(0)
摘要:索引的作用就类似于书的目录,书的目录会按照章节的顺序排列,会指想某一张的位置。这样如果在一本数百页的书里面查找某个章节位置的时候,我们就可以只扫描书的目录,扫描的范围缩小了n倍,查询的效率自然就提高了。另外在sql server内存够用的情况下索引会被放到内存中,在内存中查找自然又会提高效率;所以我 阅读全文
posted @ 2017-02-21 13:27 上古时期的码农 阅读(281) 评论(0) 推荐(0)
摘要:DECLARE @date_from DATETIME;--声明开始日期变量 DECLARE @date_to DATETIME;--声明结束日期变量 SET @date_from = '2013-01-01';--为开始日期赋值 SET @date_to = '2015-10-22';--为结束日期赋值 update Article set CreateDateTime= ( ... 阅读全文
posted @ 2017-02-21 13:26 上古时期的码农 阅读(470) 评论(0) 推荐(0)
摘要:产生原因是因为编码问题 数据库是英文版 但是数据库中数据又是中文的 所以查询中文时需要加上N select * from customer where Username=N'张三' 阅读全文
posted @ 2017-02-21 13:26 上古时期的码农 阅读(4837) 评论(0) 推荐(1)