精华内容
下载资源
问答
  • GoldenGate级联数据库复制技术
  • 全国城市级联数据库

    2016-09-05 17:47:06
    全国城市级联数据库 很齐全 到区去 值得拥有
  • 全国行政区级联数据库_sqlserver版 全国行政区级联数据库_sqlserver版 全国行政区级联数据库_sqlserver版 全国行政区级联数据库_sqlserver版 全国行政区级联数据库_sqlserver版 全国行政区级联数据库_sqlserver版 ...
  • 全世界城市级联数据库外加中国到区域 州.国 .省 都是有英文的 到中国区 就没有英文了,只有中文 mysql 数据库类型 值得你拥有
  • 省市县三级级联数据库,通过它可以实现创建数据中的相关的省市级的表
  • SSM框架下,级联数据库表的访问查询级联数据库表如何快速通过子级查询父级? 级联数据库表 在日常的软件设计中,多级联动的数据库表比较常见,如省市联动的数据,对这些数据按级分表的方式存储,以表示数据之间的包含关系...

    SSM框架下,级联数据库表的访问查询

    级联数据库表

    在日常的软件设计中,多级联动的数据库表比较常见,如省市联动的数据,对这些数据按级分表的方式存储,以表示数据之间的包含关系。
    一般情况下,不会使用外键将父、子级的数据库表进行关联,因为当需要对某个数据进行删除操作时,这个数据就需要数据库级联操作来去除对子表的影响,而这些操作的开销会很大(级数越多,开销越大)。
    而解决这个问题的常用方法,就是在子级表中添加一个字段,存入对应父级表的id值,类似链表。

    此设计,便于增加和更新操作,减小各级的耦合,类似于链表的结构,可以最大程度的减少对数据的修改。但空间的优化,导致的缺点毫无疑问的就是时间的牺牲。即当需要通过子级查询更上级的父级数据时,需要发起多次的查询。(子→父→爷)
    例如: 通过一个商品,查询它所属的一级分类?(商品→N级分类…→三级分类→二级分类→一级分类)

    如何快速通过子级查询父级?

    下面进行一个粗糙的实验,使用SSM框架+MySQL+Junit,进行四级的级联查询(四级分类→三级分类→二级分类→一级分类),下例中均以一级分类作查询最终目标。

    1.目前最原始的结构如下:
    在这里插入图片描述
    为了方便这里简化数据表的结构,对其重复进行10000次的查询,通过System.currentTimeMillis();记录时间差,当然由于Mybatis的一级缓存,使得这样重复查询的耗时、访问次数减少,这里粗糙地表现数据库的访问次数。

    while (rount>=0){
                //实际上向数据库发起了4次查询
                FouthL fouth = dao.findFouth(1);
                ThirdL third = dao.findThird(fouth.getThird_id());
                SecondL second = dao.findsecond(third.getSec_id());
                FirstL first = dao.findFirst(second.getFir_id());
                //模拟提取数据
              first.getFir_data();
            }
    

    输出:![在这里插入图片描述](https://img-blog.csdnimg.cn/20200907233822390.png#pic_center

    2.常见的解决方法:
    在子级数据库表中为每一个父级的id添加字段,即子级拥有所有父级的id信息,这样只需要2次查询即可实现子级查询父级,但随着级联的层数增大,空间的占用越大,浪费越大。
    在这里插入图片描述

    while (rount>=0){
                //实际上向数据库发起了2次查询
                FouthL fouth = dao.findFouth(1);
                FirstL first = dao.findFirst(fouth.getFir_id());
              first.getFir_data();
            }
    

    在这里插入图片描述
    由于Mybatis的一级缓存,这里的耗时差距并不明显,但数据库的访问量极大的减少了。

    3.个人的一些修改方式
    当我们能确定每一级数据的数据量和级数时
    如:这里的数据只有4级,每个父级的数据不超过1000个
    我们可以将多个父级id字段进行合并,以500055001表示id为500,55,1的一级,二级,三级分类的id值(这里不使用varchar类型,是因为拿到数据后,切割字符串会造成内存的大量浪费)
    这样减少数据库的空间浪费,通过代码运算将字段拆分回多个父级的id,但牺牲了部分CPU性能。
    在这里插入图片描述

    while (rount>0){
                //实际上向数据库发起了2次查询
                FouthL fouth = dao.findFouth(2);
                BigInteger parentId = fouth.getParent_id();
                //分解出各级id
                //这里对应万位为一级分类的id,百位~千位为二级id,十位~个位为一级id
                int fir_Id = parentId.divide(new BigInteger("10000")).intValue();
                int sec_Id = parentId.divide(new BigInteger("100")).mod(new BigInteger("100")).intValue();
                int third_Id = parentId.mod(new BigInteger("100")).intValue();
                //查询首级分类
                FirstL first = dao.findFirst(fir_Id);
              first.getFir_data();
            }
    

    在这里插入图片描述
    最后,各个方案都有优缺点,具体需要根据软件的设计需求来决定。

    作为一个初出茅庐的新人菜鸟,文中有不当之处,还请各位多多指正!!

    展开全文
  • zTree实现地市县三级级联数据库映射

    千次阅读 2014-05-10 23:42:34
    zTree实现地市县三级级联数据库映射 Province.hbm.xml:

    zTree实现地市县三级级联数据库映射


    Province.hbm.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    
    <hibernate-mapping>
      <class name="com.gwtjs.model.Province" table="t_area_tab">
        <id access="field" name="id" type="java.lang.Long">
          <generator class="native"/>
        </id>
        <property name="provinceCode" length="20" access="field" not-null="true" type="java.lang.String">
           <column name="province_code"></column>
        </property>
        <property name="provinceName" length="50" access="field" not-null="true" type="java.lang.String">
           <column name="province_name"></column>
        </property>
        <property name="cityCode" length="20" access="field" not-null="true" type="java.lang.String">
           <column name="city_code"></column>
        </property>
        <property name="cityName" length="50" access="field" not-null="true" type="java.lang.String">
           <column name="city_name"></column>
        </property>
        <property name="countyCode" length="20" access="field" not-null="true" type="java.lang.String">
           <column name="county_code"></column>
        </property>
        <property name="countyName" length="50" access="field" not-null="true" type="java.lang.String">
           <column name="county_name"></column>
        </property>
      </class>
    </hibernate-mapping>
    


    展开全文
  • 省市区三级级联数据库sql语句,适用于SQLServer,若要别的数据库替换成相应的数据类型即可。 省市级联 省市区三级级联
  • 包含两个资源: 1:资源来自腾讯官方,名称准确,三种语言独立级联。 2:中文资源来自腾讯官方,日文英文在中文标准版基础上翻译,同一地区三种语言的主键相同,适用于国际化项目语言无缝切换。
  • 有中国,有国际化,精确到区域 ,mysql 数据库类型 如需要精确到街道的请查找本人上传的另外一个资源
  • 包含两个资源: 1:资源来自腾讯官方,名称准确,三种语言独立级联。 2:中文资源来自腾讯官方,日文英文在中文标准版基础上翻译,同一地区三种语言的主键相同,适用于国际化项目语言无缝切换。
  • 省市区街道级联地址数据库,方便大家做地址相关应用。。
  • 二级级联数据库

    2012-03-10 12:49:15
    二级级联数据库
  • 城市级联实例 数据库交互 java jqurey ajax $.getjson
  • 多特征级联图像数据库目标人工智能匹配仿真.pdf
  • ASP+JavaScript+SQL四级级联,及无限级级联,超级简单和空间我!我自己写的,有注释并且测试...1.class.sql创建分类数据库。 2.select4ji.asp是ASP实现的4级select联菜单。 3.classlist是分类级联的浏览,添加和修改。
  • 一张表,来源于网络,可直接执行sql,包含省会 城市 区县
  • 首先创建简单的html页面,写出如下代码: 静态页相关代码: js代码: 控制器代码: 数据库相关内容: 转载于:https://www.cnblogs.com/dubin382460/p/5556603.html...

    首先创建简单的html页面,写出如下代码:

    静态页相关代码:

    js代码:

    控制器代码:

    数据库相关内容:

    转载于:https://www.cnblogs.com/dubin382460/p/5556603.html

    展开全文
  • sku spu 注意数据库的多表查询以及菜单的级联查询

    sku spu
    注意数据库的多表查询以及菜单的级联查询

    展开全文
  • 地图级联查询数据库设计和具体数据。包括名称,code码,父级code码,包括香港澳门区域等。适合做可视化的一些地图数据等
  • 附件用途:制作省市区三级级联菜单数据来源 简单介绍:文件gk_diqu.sql内含数据库表 gk_diqu。 数据结构: mysql> desc gk_diqu; +-------+----------------------+------+-----+---------+----------------+ | ...
  • 数据库级联

    2020-08-08 15:51:31
    级联操作 on_delete=None, # 删除关联表中的数据时,该数据也会被删除,不存在 on_delete=models.CASCADE, # 删除关联数据,与之关联也删除 on_delete=models.DO_NOTHING, # 删除关联数据,什么也不做 on_delete=...
  • asp简单的select级联菜单带数据库

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 67,591
精华内容 27,036
关键字:

级联数据库