和oracle有区别, 需要关联表 SELECT A.NAME ,B.ROWS  FROM sysobjects  A JOIN sysindexes B ON A.id = B.id WHERE A.xtype = 'U' AND B.indid IN(0,1) ORDER BY B.ROWS DESC; -- 需要注意 1. 执行脚本需要在你 新建的 目标数据库那一层  新建查询: 2. sysobjects  A  和 sysindexes B 是两张不同的表…
转自:使用sql命令查询视图中所有引用的基础表 使用sql命令查询视图中所有引用的基础表 之前有写过如何利用sql查询视图中所有引用的表发现这个方法并不能查出视图中所有的基础表,如果视图中有嵌套视图就会有问题,因为目录视图sys.sql_dependencies并不包含所有的引用实体.后面发现在sql2008及以后的版本中推出的sys.sql_expression_dependencies视图解决了这一问题,所以重新写了段sql,用来查询视图中所有引用的基础表,包括嵌套视图中的基础表.这个有什么…
用phpmyadmin打开数据表较多,数据量较大的数据库时,会出现超时,或者等半天打开了说数据库没有表.并且即便打开了,再进行其他浏览,编辑,sql等操作,页面也是相当慢的,慢等几乎无法忍受.这里慢也就慢在取得表状态的 SHOW TABLE STATUS 语句.SHOW TABLE STATUS 返回表的名字,类型,列数,大小,时间等相关信息.这些信息不要也罢.下面着手改以下两个地方就可以了. 以 phpMyAdmin 3.1.2 为例(不同版本可能会有差异): 打开 libraries/Tab…
一. 简单查询简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的表或视图.以及搜索条件等. 例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段. 代码:SELECT `nickname`,`email`FROM `testtable`WHERE `name`='张三' (一) 选择列表选择列表(select_list)指出所查询列,它可以是一组列名列表.星号.表达式.变量(包括局部变量和全局变量…
1.不要在Where子句中的“=”左边进行函数.算术运算或其他表达式运算,否则系统将可能无法正确使用索引. 2.尽量不要在Where条件中使用函数,否则将不能利用索引. 3.在Where条件中使用明确的字段类型值,避免由于隐式转换而不能正确使用索引. 4.避免使用SELECT *,只取需要的明确的字段. 5.对大数据量的查询,尽重避免在SQL语句中使用ORDER BY子句,避免由于使用tempdb进行排序带来额外的开销,替代为使用ADO来实现. 6.避免在SQL Server中盲目地追求一句处理…
sql server2008的用户权限管理及其细致.此处我也不知道是表扬还是批评.所以经常会遇到各种“对不起您没有**权限”的问题. 本次遇到的问题机器常见.在尝试修改数据库结构时提示"没有CREATE TABLE权限".百度之,使用management tool 或者使用grant命令都无法正常授予create table权限(grant是能正常执行的). 最终发现要授予CREATE TABLE权限,必须先给该用户“登录名-登录属性-服务器角色”中授予sysadmin角色.意即,cr…
需求:添加创建了分库分表后,业务可能将数据已经写入,但未来得及接入到otter汇总库.接入汇总库前需要初始化这部分数据. 1.导出 ip_port_list ) len=${#ip_port_list[@]} ;i;i++)) do db_ip=`echo ${ip_port_list[i]} | awk -F[:] '{print $1}'` db_port=`echo ${ip_port_list[i]} | awk -F[:] '{print $2}'` mysql >/dev/null…
/// <summary> /// 分解数据表 /// </summary> /// <param name="originalTab">需要分解的表</param> /// <param name="rowsNum">每个表包含的数据量</param> /// <returns></returns> public DataSet SplitDataTable(DataT…
sql代码: declare @Subject table (--题目表变量 SubjectID int, Question nvarchar(MAX), CorrectAnswer ), Explain nvarchar(MAX), SubjectTypeID int, CreateID int, CreateDate datetime, SubjectScore , ), ScoreSort int ) insert into @Subject(SubjectID,Question,Corr…
(1)先创建一张测试表: CREATE TABLE `用户购买订单` ( `购买时间` datetime(6) NULL DEFAULT NULL, `用户` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `费用` decimal(20, 2) NULL DEFAULT NULL ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_gene…
我要查找值为‘WSCOL1525’的字段. declare @cloumns varchar(40)declare @tablename varchar(40)declare @str varchar(40)declare @counts intdeclare @sql nvarchar(2000)declare MyCursor Cursor For Select a.name as Columns, b.name as TableName from syscolumns a,sysobjec…
INSERT INTO (1) 如果两张表(导出表和目标表)的字段一致,并且希望插入全部数据,可以用这种方法: INSERT INTO 目标表 SELECT * FROM 来源表 WHERE 条件; 例如,要将 test 表插入到 newTest 表中,则可以通过如下SQL语句实现: INSERT INTO newTest SELECT * FROM test; (2)如果只希望导入指定字段,可以用这种方法: INSERT INTO 目标表(字段1, 字段2, ...)SELECT 字段1, 字…
掌握了这些,就比较高级啦 Using the Same Table Twice 如下面查询中的branch字段 SELECT a.account_id, e.emp_id, b_a.name open_branch, b_e.name emp_branch FROM account AS a INNER JOIN branch AS b_a ON a.open_branch_id = b_a.branch_id INNER JOIN employee AS e ON a.open_emp_id…
如我要取8月1号到8月30号之间的早上7点半到晚上八点半这段时间内的数据. SELECT * FROM tableName AS tWHERE t.create_date BETWEEN '2017-08-01 07:30' AND '2017-08-30 20:30' AND CONVERT(CHAR(5), t.create_date, 14) BETWEEN '07:30' AND '20:30'————————————————版权声明:本文为CSDN博主「life_is_crazy」的原…
我们拥有一个巨大的表,两千多万条记录.也许在行家眼里,两千多万条记录顶多算条毛,不过这条毛也忒粗壮了一点:我们的数据库占用的空间已经达到5G多了.不要以为是日志文件在搞鬼,日志文件可以自动收缩的,最多不超过100M. 这样子就给我们备份.同步带来很大的麻烦.备份.压缩.下载,谁见谁害怕. 昨天想了个办法,将这个巨无霸分出去了.分到了另一个数据库上.虽说有这么多记录,不过这些记录并不是太重要,如果放在一个分布式的系统里面看,它没有同步的必要. 思想如下: 1.将大表转移到另一个数据库上 2.原有数…
SELECT COUNT (DISTINCT tmp.PLATE) totalNum, tmp.newTime FROM ( SELECT T .LICENSE_PLATE plate, TO_CHAR ( T .create_time, 'yyyymmddhh24mi' ) oldTime, -- 原来的时间 CASE WHEN SUBSTR ( TO_CHAR (T .create_time, 'mi'), , ) THEN TO_CHAR ( T .create_time, 'yyyymm…
服务器文档下载zip格式   刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Core.Utility;@{ string ButtonScript = string.Empty;}@if (Rattan.Basic.Globals.GetIsAuth(ViewBag.AuthValues, "QuickExport")){ ButtonScript = @"…
业务:一个表中有很多数据(id为自增主键),在这些数据中有个别数据出现了重复的数据. 目标:需要把这些重复数据删除同时保留第一次插入的那一条数据,还要保持其它的数据不受影响. 解题过程: 第一步:查出所有要保留的下来的数据的id(save_id) SELECT id as save_id FROM yujing.alarm_event_info_snapshot aeis where aeis.event_id in (SELECT ae.id FROM yujing.alarm_event a…
背景 在开发完成,数据验证的过程中,需要对两个非常大的表进行query,运行了十几分钟都跑不完.如下: select * from big_a a, big_b b where a.some_id = b.some_id and a.value_one = 'a_111' and a.value_two = 'a_222' and b.value_one = 'b_111' and b.value_two = 'b_222' 假设两个表的数据量非别为M,N,那么查询时间相当于M*N.对两表进行全…
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/QQ578473688/article/details/54561397 思路1:采用备份表 备份表中存储不活跃的数据eg:只有查询操作的数据(数据的部分属性字段不再更改)且查询次数也较少: 备份表可以是一张或者多张备份表,若采用多张备份表,则定期创建备份表(备份表的命名要规范,可以考虑使用原表名称+时间戳命名) 采用多张备份表:定期创建一个备份表(备份一定期间范围内的数据,多张备份表采用联合查询)…
Mysql 大数据量高并发的数据库优化 一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能.所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的. 在一个系统分析.设计阶段,因为数据量较 一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能.所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的. 在一个系统分析.…
保证在实现功能的基础上,尽量减少对数据库的访问次数:通过搜索参数,尽量减少对表的访问行数,最小化结果集,从而减轻网络负担:能够分开的操作尽量分开处理,提高每次的响应速度:在数据窗口使用SQL时,尽量把使用的索引放在选择的首列:算法的结构尽量简单:在查询时,不要过多地使用通配符如SELECT * FROM T1语句,要用到几列就选择几列如:SELECT COL1,COL2 FROM T1:在可能的情况下尽量限制尽量结果集行数如:SELECT TOP 300 COL1,COL2,COL3 FROM…
转自:http://blog.sina.com.cn/s/blog_6c0541d50102wxen.html 一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能.所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的. 在一个系统分析.设计阶段,因为数据量较小,负荷较低.我们往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性…
问题概述 使用阿里云rds for MySQL数据库(就是MySQL5.6版本),有个用户上网记录表6个月的数据量近2000万,保留最近一年的数据量达到4000万,查询速度极慢,日常卡死.严重影响业务. 问题前提:老系统,当时设计系统的人大概是大学没毕业,表设计和sql语句写的不仅仅是垃圾,简直无法直视.原开发人员都已离职,到我来维护,这就是传说中的维护不了就跑路,然后我就是掉坑的那个!!! 我尝试解决该问题,so,有个这个日志. 方案概述 方案一:优化现有mysql数据库.优点:不影响现有业务…
一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能.所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的. 在一个系统分析.设计阶段,因为数据量较小,负荷较低.我们往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性能则要花费更多的人力物力,而整个系统也不可避免的形成了一个打补丁工程. 所以在考虑整个系统的流程的时候,我们必须…
最近项目中不少表的数据量越来越大,并且导致了一些数据库的性能问题.因此想借助一些分库分表的中间件,实现自动化分库分表实现.调研下来,发现Sharding-JDBC目前成熟度最高并且应用最广的Java分库分表的客户端组件.本文主要介绍一些Sharding-JDBC核心概念以及生产环境下的实战指南,旨在帮助组内成员快速了解Sharding-JDBC并且能够快速将其使用起来.Sharding-JDBC官方文档 核心概念 在使用Sharding-JDBC之前,一定是先理解清楚下面几个核心概念. 逻辑表…
给出两个表,A和B,A和B表的数据量, 当A小于B时,用exists select * from A where exists (select * from B where A.id=B.id) exists的实现,相当于外表循环,每次循环对内表进行查询? for i in A for j in B if j.id == i.id then .... 相反,如果A大于B的时候,则用in select * from A where id in (select id from B) 这种在逻辑上类似…
表结构 SELECT t1.TABLE_NAME, t1.COLUMN_NAME, t1.DATA_TYPE || '(' || t1.DATA_LENGTH || ')', t2.COMMENTS -- missing_count(t1.TABLE_NAME, t1.COLUMN_NAME) counts FROM USER_TAB_COLS t1, USER_COL_COMMENTS t2 WHERE t1.TABLE_NAME = t2.TABLE_NAME AND t1.COLUMN_N…
大数据量查询,对数据库开发者来说,性能问题往往是最需要费尽心机的,借此总结自己优化此类问题的心得与大家分享,以免大家走更多的弯路. 1.使用主键临时表 大数据量表关联查询,是性能开销的主要原因.通过主键创建临时表,搬迁关联所需主键数据往往是我们在查询时的主要手段,接下来我们就可以通过主键临时表分批关联其他大表的方式轻松.高性能的实现大数据量查询. 2.只查询一次大表 在编写大数据量查询程序时,对于大的数据表,尽可能减少对大数据表的访问次数,必要时,可以缓存大数据表的结果. 3.分批处理,提高并发…
Oracle数据库: 刚做一张5000万条数据的数据抽取,当前表同时还在继续insert操作,每分钟几百条数据. 该表按照时间,以月份为单位做的表分区,没有任何索引,当前共有14个字段,平均每个字段30个字节.当前表分区从201101到201512每月一个分区 测试服务器:xeno 5650,32核cpu,win2003操作系统,物理内存16G:测试工具plsql 1.最开始的查询: string.Format(@"select * from                           …