关系型数据库操作一些不好用的地方

假如我插入了一条数据,成功之后需要取主键(插入明细时需要),能否自动返回?如果插入一批,最好也能返回一批主键?

一直没有获取单行记录的方法,必须返回结果集再去处理?为什么又会有返回首行首列的方法呢?

大批量插入有BulkCopy,需要转化为DataTable很曲折?

分页总是需要返回where的总记录数,有没有sql觉得写的很奇怪,为了这个总数很折腾?

主从表更新时有木有觉得从表更新有些奇葩?特别是需要记录历史操作时会感到很奇怪?

select * from a left join b on a.id=b.aid where a.qty>10 and b.category=‘xxx‘ 是先笛卡尔积之后再按条件筛选有木有搞错这效率?为什么不是先取两个表过滤之后的结果再笛卡尔积,是否会快很多?为了达到相同的效果是否花了一些代价?

外键是否真的带来了啥好处?范式有时候很不实用有木有?

时间: 2024-12-16 00:24:24

关系型数据库操作一些不好用的地方的相关文章

mysql基本认识【关系型数据库和nosql、mysql操作流程和体系,库操作,表操作,数据的操作,字符集的操作,以及php作为client操作数据库】对连接本身没有疑问

1.关系型数据库永久性保存数据的仓库php的变量只是php脚本执行期间,临时性保存变量的空间[使用内存空间临时保存] 关系型数据库:利用二者的关系来描述实体的信息.[利用二维表字段名和字段值来进行描述][关系型数据库根本不是可以使用外键将两个表构建成关联的意思,而是实现描述实体的二维表的形式] nosql:not only sql[sql表示操作关系型数据的语言]所以nosql指的就是非关系型数据库[典型的是键值对型的数据(redis.memcache)][nosql可以视情况添加信息,不需要对

python 之操作redis数据库(非关系型数据库,k-v)

数据库: 1. 关系型数据库 表结构 2. 非关系型数据库 nosql (k - v 速度快),常用的时以下三种: memcache 存在内存里 redis 存在内存里 mangodb 数据还是存在磁盘上 Redis里的数据类型有String 和hash类型,下面主要是对Redis 的一些操作. 一.String类型 r = redis.Redis(host='localhost',port=6379,db=3) r.set('nancy2','201801211505') #set数据 pri

MongoDB的模糊查询操作(类关系型数据库的 like 和 not like)

1.作用与语法描述 作用: 正则表达式是使用指定字符串来描述.匹配一系列符合某个句法规则的字符串.许多程序设计语言都支持利用正则表达式进行字符串操作.MongoDB 使用 $regex 操作符来设置匹配字符串的正则表达式. 语法一 { <field>: { $regex: /pattern/, $options: '<options>' } } { <field>: { $regex: 'pattern', $options: '<options>' } }

深入理解关系型数据库(一)

前言:是否写了很多年的SQL查询,仍然不知道这个大盒子里怎么运作的? 如果你感兴趣,不妨读读本文. 每当说到关系型数据库时,我总感觉少点什么.各式各样的数据库被到处使用,从轻量的SQLite到强大的Teradata.但是,几乎没有一篇文章来解释这些关系型数据库到底是怎样工作的.你使用谷歌搜索“关系型数据库的运行原理”,基本上搜不到什么结果.现在,如果你有接触到比较流行的技术(Big Data, NoSQL或者JavaScript),你却可以找到一些比较深入的介绍它们原理的文章. 难道关系型的数据

关系型数据库到文档型数据库的跨越

1. 简介 在文档型NoSQL数据库出现之前,许多开发者一直绞尽脑汁思考,希望能想出更好的处理关系型数据库技术的方法,如今他们可能要跳出那种思维而另辟蹊径.本文将介绍关系型数据库和分布式文档型数据库的区别以及在应用开发上的一些建议. 2. 转变的原因 人们通常都不愿意改变,因为改变总是痛苦的,除非它能显著解决一些问题.随着大数据的发展,我们越来越有必要开始对数据模型做出转变了.换句话说,这种转变的需求愈发的强烈,因为大数据时代不管是对于数据库的 扩展模型 还是 数据模型 都要求极高的灵活性. 2

关系型数据库基础

第1章 关系型数据库管理系统简介 1.            常见SQL:MySQL(小型.免费.简单,甲骨文公司),SQLServer(微软,收费,.net,大型),Oracle,DB2 2.            数据库特点: 降低存储数据的冗余度: 更高的数据统一性: 存储的数据可以共享: 可以建立数据库所遵循的标准: 便于维护数据完整性: 能够实现数据的安全性: 3.            数据存储模型:层次模型.网状模型.关系模型.对象模型 4.            关系模型把世界看

iOS SQLite3数据库操作

iOS中数据持久化分为四种:属性列表.对象归档.SQLite3和Core Data,SQLite3数据库操作是一个必不或缺的技术. SQLite3简介 SQLite3数据库是移动端(iOS.Android.嵌入式)上认定的关系型数据库,与MySQL.Oracle等数据库相比,具有轻量级的优势,这就造成了体积小.迅速.简单功能依旧强大等优势. SQLite3语句特点 不区分大小写 每一句以:结尾 SQLite字段类型 integer:整型 real:浮点值 text:文本字符串 blob:二进制类

世界级的开源项目:TiDB 如何重新定义下一代关系型数据库

著名的开源分布式缓存服务 Codis 的作者,PingCAP 联合创始人& CTO ,资深 infrastructure 工程师的黄东旭,擅长分布式存储系统的设计与实现,开源狂热分子的技术大神级别人物.即使在互联网如此繁荣的今天,在数据库这片边界模糊且不确定地带,他还在努力寻找确定性的实践方向. 在数据库的平行世界里,黄东旭以不同的方式在追随着自己的内心.他认为,通常传统的关系型数据库无法满足海量数据处理和分析时,新一轮的窗口期也随之需求开启,但是各类劣势架构.内存架构. NoSQL 等方案都不

关系型数据库与NoSQL的对比

SQL(结构化的查询语言)数据库是过去四十年间存储数据的主要方式.20世纪90年代末随着Web应用和MySQL.PostgreSQL和SQLite等开源数据库的兴起,用户爆炸式的增长. NoSQL数据库自从20世纪60年代就已经存在了,直到MongoDB, CouchDB, Redis 和 Apache Cassandra等数据库的流行才获取了更多的关注. 你可以很容易地找到许多关于如何使用一款特定的SQL或NoSQL的教程,但是很少有讨论你为什么优先的使用一款而不适用另一款.我希望我能够填补这