随笔分类 - 24.SQLite
WinCE,Mobile,WindowsPhone,Android,IOS开发嵌入式数据库
摘要:数 据库设计是整个程序的重点之一,为了支持相关程序运行,最佳的数据库设计往往不可能一蹴而就,只能反复探寻并逐步求精,这是一个复杂的过程,也是规划和结 构化数据库中的数据对象以及这些数据对象之间关系的过程。下面给出了20个数据库设计最佳实践,当然,所谓最佳,还是要看它是否适合你的程序。一起来了解 了解吧。使用明确、统一的标明和列名,例如 School, SchoolCourse, CourceID。数据表名使用单数而不是复数,例如 StudentCourse,而不是StudentCourses。数据表名不要使用空格。数据表名不要使用不必要的前缀或者后缀,例如使用School,而不是TblScho
阅读全文
摘要:ylbtech-DatabaseDesgin:ylbtech-cnblogs(博客园)-数据库设计-6.0-Msg(短消息)DatabaseName:cnblogs(博客园)Model:Passport:"短消息"块数据库设计Type:专业技术网站Url:http://www.cnblogs.com/1.A,数据库关系图(Database Diagram)1.B,数据库设计脚本(Database Design Script)6,sql-basic-msg.sqluse cnblogsgo-- =========================================
阅读全文
摘要:处理上百万条的数据库如何提高处理查询速度1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=03.应尽量避免在 where 子句中使用!=或操作符,否则将引擎放弃使用索引而进行全表扫描。4.应尽量避免在 where 子句中使用 or 来
阅读全文
摘要:写sql语句分别按日,星期,月,季度,年统计销售额--按日select sum(consume),day([date]) from consume_record where year([date]) = '2006' group by day([date])--按周quarterselect sum(consume),datename(week,[date]) from consume_record where year([date]) = '2006' group by datename(week,[date])--按月select sum(consume),
阅读全文
摘要:在之前只知道SqlServer支持数据批量插入,殊不知道Oracle、SQLite和MySql也是支持的,不过Oracle需要使用Orace.DataAccess驱动,今天就贴出几种数据库的批量插入解决方法。首先说一下,IProvider里有一个用于实现批量插入的插件服务接口IBatcherProvider,此接口在前一篇文章中已经提到过了。/// /// 提供数据批量处理的方法。 /// public interface IBatcherProvider : IProviderService { /// /// 将 的数据批量插入到...
阅读全文
摘要:一、C# vs SQLite: C#SQLite字段名类型库类型GetFieldType(#)转换备注F_BOOLboolBIT NOT NULLBoolean F_BOOL_NULLbool?BITBoolean F_SBYTEsbyteINT8 NOT NULLSBytesbyte_ F_SBYTE_NULLsbyte?INT8SBytesbyte_ F_BYTEbyteUINT8 NOT NULLByte F_BYTE_NULLbyte?UINT8Byte F_SHORTshortINT16 NOT NULLInt16 F_SHORT_NULLshort?INT16I...
阅读全文
摘要:在企业数据库设计中,经常会遇到一个需求,就是希望把操作之前的数据保留下来,能够看到操作之前是什么数据,操作之后是什么数据。对于这种需求,我们可以使用保留历史数据或者使用版本来实现。为了能够保留历史数据,在版本设计时有以下方案:一、使用版本号版本号是一种常见的版本设计方案,就是在要进行历史数据保留的表上面增加一个版本号字段,该字段可以是DateTime类型,也可以是int类型,每进行数据操作时,都是创建一个新的版本,版本是只增不减的,所以只需要拿到最大一个版本号,就能得到最新的业务数据。版 本号除了能够用于留存历史数据外,还有一个功能就是避免并发编辑操作。比如我们有一个对象A,当前的版本是1,两
阅读全文
摘要:又一个多月没冒泡了,其实最近学了些东西,但是没有安排时间整理成博文,后续再奉上。最近还写了一个发邮件的组件以及性能测试请看 《NET开发邮件发送功能的全面教程(含邮件组件源码)》,还弄了个MSSQL参数化语法生成器,会在9月整理出来,有兴趣的园友可以关注下我的博客。分享原由,最近公司用到,并且在找最合适的方案,希望大家多参与讨论和提出新方案。我和我的小伙伴们也讨论了这个主题,我受益匪浅啊……博文示例:GUID生成Int64值后是否还具有唯一性测试Random生成高唯一性随机码今天分享的主题是:如何在高并发分布式系统中生成全局唯一Id。但这篇博文实际上是“半分享半讨论”的博文:1) 半分享是我将
阅读全文