数据库
tnblog技术分享~
如果不能简单的解决问题 那是设计与做法有问题
展开
-
mysql使用函数,查询所以父id,子id
mysql使用函数做递归层次查询 最近在做一个从oracle数据库到mysql数据库的移植,遇到一个这样的问题 在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方便的查了所有当前节点下的所有子节点。但shi,在MySQL的目前版本中还没有对应的函数!!! 换句话来说,想要用转载 2013-10-07 15:43:46 · 4176 阅读 · 1 评论 -
ORM简单架构
一个简单的orm主要分为两个部分1:sql解析器 通过传递sql与参数解析sql并注入model或执行sql2:sql生成器 通过面向对象的方式生成sql与参数 这样的架构可以直接使用sql与sql生成器的方法,sql生成器相比手写sql兼容更好,当遇到需要复杂查询条件时,不用自己去拼sql原创 2014-02-17 10:33:26 · 757 阅读 · 0 评论 -
导数据常用处理
需要从其他数据源导入到数据源的情况很多,比如说excel, 也就是在不同数据源插入数据。 一般的插入都比较简单 但也会遇到一些问题 一:处理数据源与目标数据有重复的情况 方法1:一条一条的判断数据是否有重复,如果重复就更新,否者添加 这种方式效率比较低,需要一条一条判断 方法2:找到数据相同原创 2014-03-03 20:41:02 · 760 阅读 · 0 评论 -
SQL Server报错汇总
开个单章,记录遇到的SQL Server的问题及解决办法,方便自已以后回顾。该文章会不断完善1)SQL Server服务突然无法启动 问题描述:之前一直没有问题,突然某天无法启动了 解决办法:查看控制面板->管理工具->事件查看器,发现是因为登录失败而无法启动。 找到原因,就简单了,从服务中找转载 2014-03-18 11:22:15 · 1409 阅读 · 0 评论 -
SQLServer 2012 已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: SSL Provider, error: 0 - 等待的操作过时。
楼主用SQL Server 2012 在连接其他电脑的实例时,一直提示“已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: SSL Provider, error: 0 - 等待的操作过时。”Google了很多资料,综合自己的问题,并参照官方问题介绍:http://support.microsoft.com/kb/2568167和另外一位仁兄的博客htt转载 2014-04-09 14:59:31 · 2344 阅读 · 0 评论 -
sqlserver2008删除日志
在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式原创 2014-11-17 10:39:01 · 905 阅读 · 0 评论 -
实现将SQLServer表里的数据导出为insert脚本
通常情况下,SQL Server里面的生成SQL脚本,只会包含数据库及表的字段结构,而不会包含表的数据,也就是SQL脚本里面只有Create database,Create table 这样的语句,没有insert into。因为SQL Server并不包含这个功能,只能靠第三方的代码了。以下存储过程可以实现:CREATE PROCEDURE dbo.UspOutput转载 2014-04-01 11:23:49 · 1309 阅读 · 0 评论 -
常用sql写法
一:将两个不相关的两个sql查询结果合并起来 有时候我们为了减少与数据库的查询次数可以把几个需要的值一起查询出来,虽然大多数情况下可以用连接查询 但是还是有时候没有什么关联的 select a.m,b.n from ( select * from x ) a , (select * from y ) b原创 2013-12-03 15:19:20 · 804 阅读 · 0 评论 -
数据库还原失败System.Data.SqlClient.SqlError: 无法执行 BACKUP LOG,因为当前没有数据库备份
结尾日志的问题还原选择中去掉结尾日志就可以了原文地址:http://www.tnblog.net/aojiancc2/article/details/188转载 2015-06-01 21:01:58 · 66513 阅读 · 2 评论 -
sqlserver完整备份一个新库的方法
一:选择bak,输入新数据库名称,不需要新建好数据库2:修改一下还原的mdf与日志文件,否则会把以前有的数据库并为正在还原原创 2015-07-30 14:25:53 · 1976 阅读 · 0 评论 -
SQL Server 2008 获取所有数据库名,表名,字段名
SELECT[表名]=case when a.colorder=1then d.name else '' end,[表说明]=case when a.colorder=1then isnull(f.value,'')else '' end,[字段序号]=a.colorder,[字段名]=a.name,[标识]=case when COLUMNPR转载 2013-09-16 11:56:37 · 5558 阅读 · 0 评论 -
事务和JDBC事务隔离级别
与事务相关的理论事务(Transaction): 是并发控制的单元,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。通过事务,sql server 能将逻辑相关的一组操作绑定在一起,以便服务器 保持数据的完整性。事务通常是以begin transaction开始,以commit或rollback结束。Commint表示提交,即提转载 2013-09-26 14:41:33 · 653 阅读 · 0 评论 -
ORM Optimize
一:use Transaction To Batch process when you want to Batch operation,for example,Batch insert, Batch update,you can use Transaction ,it can be provide efficiency. because if y原创 2013-12-16 15:45:50 · 538 阅读 · 0 评论 -
MySQL事务隔离级别详解
SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirt转载 2013-09-25 18:33:35 · 649 阅读 · 0 评论 -
mysql查询更新时的锁表机制分析
为了给高并发情况下的mysql进行更好的优化,有必要了解一下mysql查询更新时的锁表机制。一、概述MySQL有三种锁的级别:页级、表级、行级。MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-level locking),但也支持表级锁;InnoDB存储引擎既支持行级锁(row-level lo转载 2013-09-25 17:58:53 · 603 阅读 · 0 评论 -
怎么查看和修改 MySQL 的最大连接数?
使用 MySQL 数据库的站点,当访问连接数过多时,就会出现 "Too many connections" 的错误。出现这种错误有两种情况,一种是网站访问量实在太大,服务器已经负担不起,此时就应该考虑负载均衡或者其它减少服务器压力的办法。另一种情况就是 MySQL 的最大连接数设置得太小,当访问量稍大就出现连接过多的错误。 MySQL 默认的最大连接数为 100,可以在 mysql 客户转载 2013-09-26 10:30:00 · 833 阅读 · 0 评论 -
mysql使用索引
偶然的机会发现mysql在多表连接查询时数据库效率会严重下降A表6000条 B表1000条 其他表很少不算查询时间居然需要22秒左右加上索引后效率变成了156ms,差距实在太大了添加索引的方法CREATE [UNIQUE] INDEX ON (字段 [ASC|DESC]);UNIQUE --确保所有的索引列中的值都是可以区分的。[ASC|DESC]原创 2013-09-26 18:22:27 · 553 阅读 · 0 评论 -
查询最新一条记录的处理办法
一:使用时间,记录上一条记录的时间,下一条记录的添加时间必然大于上一次的原创 2013-10-18 12:28:16 · 640 阅读 · 0 评论 -
mysql Timeout expired. The timeout period elapsed prior to completio
数据库连接超时,服务器无影响除了优化sql提高执行速度,提高等待时间,还可以修改一下mysql的最大连接数设置连接池数量ADO.Net 中的连接池大小可以通过数据库连接字符串来控制,例如: string cs = "server=.;uid=sa;pwd=tcaccp;database=pubs;pooling=true;min pool原创 2013-10-18 11:49:31 · 2891 阅读 · 0 评论 -
配置连接字符串与得到连接字符串
connectionString="data source=127.101.65.19; database =phone; User ID=mm; Password=mm" providerName="System.Data.SqlClient" /> 在程序中读取,1,引用命名空间:using System.Configuration转载 2013-10-25 09:53:33 · 637 阅读 · 0 评论 -
mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解决方法
权限问题,授权 给 root 所有sql 权限mysql> grant all privileges on *.* to root@"%" identified by ".";Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)转载 2013-11-18 14:08:07 · 875 阅读 · 0 评论 -
查看和修改 MySQL 的最大连接数
先查看默认是100 show variables like 'max_connections';找到Mysql配置文件MY.INI,找到max_connections修改成你需要的值然后重启就可以了Windows1.点击“开始”->“运行”(快捷键Win+R)2.启动:输入 net stop mysql3.停止:输入 net start mysq原创 2013-12-09 14:35:54 · 572 阅读 · 0 评论 -
Sqlserver 异常处理,常见问题
一:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) (.Net SqlClient Data Provider) 有可能是数据库服务没有启动原创 2014-02-12 12:54:33 · 3867 阅读 · 0 评论