随笔分类 -  数据库

摘要:Redis集群模式分三种方式: 1、主从模式,这里通常指的是,主down后,需要手动升级从库为主库。主库支持读写,从库只读。至少两个redis实例 2、哨兵模式,是1模式的加强,由哨兵模式自动选举从库中的某一个为主库。解决高可用问题。至少三个redis实例 3、Cluster集群模式,除了解决高可用 阅读全文
posted @ 2021-02-01 12:37 jackchain 阅读(787) 评论(0) 推荐(0) 编辑
摘要:本视频和分步演练介绍通过 Code First 开发建立新数据库。这个方案包括建立不存在的数据库(Code First 创建)或者空数据库(Code First 向它添加新表)。借助 Code First,可以使用 C# 或 VB.Net 类定义模型。可以选择使用类的特性和属性执行其他配置,也可以使... 阅读全文
posted @ 2015-03-23 13:37 jackchain 阅读(270) 评论(0) 推荐(0) 编辑
摘要:数据库设计中经常碰到父子节点的关系结构,经常需要找到某个节点的根,或者某个节点的所有子节点,一般做法都是在业务层做递归的方式实现,或者数据库存储过程实现。但其实SQLServer提供的CTE可以很好的简化我们的工作,非常方便的实现这一功能。例子:1.正向递归,找某个节点下的所有子节点with t as--如果CTE前面有语句,需要用分号隔断(selectId,ParentId,Namefrom WMS_OrgwhereId='2'union allselect r1.Id,r1.ParentId,r1.Namefrom WMS_Org r1 join t as r2 on r1 阅读全文
posted @ 2013-11-11 09:26 jackchain 阅读(579) 评论(0) 推荐(0) 编辑
摘要:晚上体验了一把EF的对象关联,确实强悍!EF数据库对象的外键管理方式1-指定导航属性,会自动生成外键,命名规则为:“表名_主键名”2-默认情况下与导航属性的主键名称相同的字段会自动被标记为外键3-通过[ForeignKey]标记指定实体类的属性为外键,4-方式2的升级版,与导航属性的主键名称相同的字段会自动被标记为外键,然后指定字段对应的数据库中的列名案例:组织架构n : 1【组织用户关联】1 :n用户using System;/** * 作者:陈杰 * 时间:2012-08-10 00:25 * 功能:公共字段接口 **/namespace ElegantWM.EntityModel{ .. 阅读全文
posted @ 2013-06-02 22:11 jackchain 阅读(656) 评论(2) 推荐(1) 编辑
摘要:/** 自动生成基于单表CRUD的操作存储过程* 供Excel,WS调用* 参数:表明,自增ID名* 结果:存储过程SQL* * 2013-05-07 20:15:20* JackChain */Alter PROC P_AutoCreateXMLWSProc(@TableName VARCHAR(30),@PrimaryKey VARCHAR(20)) ASBEGIN --创建表结构游标 DECLARE MyCur CURSOR FOR Select fieldName=a.name, fieldType=b.name, ... 阅读全文
posted @ 2013-05-07 20:22 jackchain 阅读(451) 评论(0) 推荐(0) 编辑
摘要:1、日志表 create table joblog(jobfun varchar(50), --存储过程的功能procname varchar(100), --存储过程runtime varchar(50), --运行时间currentuser varchar(50), --当前用户state varchar(4), --状态ChangeRecordsNum integer --受影响行数)state代表:--Joblog stats =0 正在执行--Joblog stats =1 存储过程正常结束--Joblog stats =8 有其他过程正在执... 阅读全文
posted @ 2013-04-27 13:52 jackchain 阅读(353) 评论(0) 推荐(0) 编辑
摘要:不知道是受SQLSERVER2000,2005的影响还是,Next的惯性思维,在使用数据库“生成脚本”的时候基本上不会太多关注里面的配置选项,但其实从SQLSERVER2008开始,微软在生成脚本这方面做了很大的改进,让用户自己选择配置的东西更多了。例如经常用到的一个是:从一个数据库将数据导入另一个库,或者向下兼容还原,以前操作很麻烦的,导入导出,链接等等。我自己是经常用第三方软件生成Insert 的SQL,然后到目的数据库执行,当然数据不是太多的情况,这是种比较快速的方法。刚好最近在做WebMisSharp的“生成数据脚本”这个功能,目的就是实现生成Insert SQL的方式,结果偶然间看到 阅读全文
posted @ 2012-05-07 00:49 jackchain 阅读(2087) 评论(5) 推荐(3) 编辑
摘要:本知识点仅适用于Oracle 9i以上的版本。查看表的数据变动情况请使用SQL语句:select * from user_tab_modifications;user_tab_modifications表的字段如下,从这个表中能够轻松找到表中做的修改,删除,增加记录的情况注意以及使用方法:1、但这张表不是实时更新的,默认情况15分钟更新一次,所以你更新一张表,可能在user_tab_modifications里不能立刻体现出来。2、想要实时查看也有办法实现,那就是在执行select * from user_tab_modifications之前先执行exec DBMS_STATS.FLUSH_ 阅读全文
posted @ 2011-01-24 18:55 jackchain 阅读(1358) 评论(1) 推荐(0) 编辑
摘要:通过执行select NUM_ROWS,table_name from user_tables where NUM_ROWS>0,是可以达到效果的。但是:有时候数据是不准的,原因是执行该查询的时候要先对表进行分析。分析表的语法为:analyze table table_name compute statistics;如何批量对表进行分析呢?1、存储过程+游标,循环,OK没有问题,但是有点麻烦。create or replace procedure Pro_AnalyzeTables iscursor cur_tab isselect table_name from user_tables 阅读全文
posted @ 2011-01-24 18:53 jackchain 阅读(1210) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示