首 页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 尾 页

使用Redis走进误区,该怎么办?

发布者: superzhang | 发布时间:2017-12-22

首先是一个产品线开发人员搭建起了一套庞大的价格存储系统,底层是关系型数据库,只用来处理一些事务性的操作和存放一些基础数据;

在关系型数据库的上面还有一套MongoDB,因为MongoDB的文档型数据结构,让他们用起来很顺手,同时也可以支撑一定量的并发。

在大部分的情况下,一次大数据量的计算后结果可以重用但会出现细节数据的频繁更新,所以他们又在MongoDB上搭建了一层Redis的缓存,这样就形成了数据库→MongoDB→Redis三级的方式,方案本身先不评价不是本文重,我们来看Redis这层的情况。

由于数据量巨大,所以需要200GB的Redis。并且在真实的调用过程中,Redis是请求量最大的点,当然如果Redis有故障时,也会有备用方案,从后面的MongoDB和数据库中重新加载数据到Redis,就是这么一套简单的方案上线了。

当这个系统刚开始运行的时候,一切都还安好,只是运维同学有点傻眼了, 200GB的Redis单服务器去做,它的故障可能性太大了,所以大家建议将它分片,没分不知道一分吓一跳,各种类型用的太多了,特别是里面还有一些当类似消息队列使用的场景。

由于开发同学对Redis使用的注意点关注不够,一味的滥用,一锤了事,所以让事情变的困难了。有些侥幸不死的想法是会传染,这时的每个人都心存侥幸,懒惰心里,都想着

想读更多 ->

Redis 结构及其性能测试

发布者: superzhang | 发布时间:2017-12-22

Redis 结构及其性能测试

redis是一个高性能的key-value非关系数据库,它可以存键与5种不同类型的值之间的映射,支持存储的value类型包括:String(字符串)、list(链表)、set(集合)、zset(有序集合)和hash(散列表)。

string可存储字符串、整数、浮点数

命令

行为

GET

获取存储在给定键中的值

SET

设置存储在给定键中的值

DEL

删除存储在给定键中的值(这个命令可以用于所有类型)

list链表上的每个节点都包含了一个字符串

命令

行为

RPUSH

将给定值推入列表的右端

LRANGE

获取列表在给定范围上的所有值

LINDEX

获取列表在给定位置上的单个元素

LPOP

想读更多 ->

Mysql语句优化的原则——让你写sql更加顺手

发布者: superzhang | 发布时间:2017-12-22

使用索引的原则:

1.最左前缀匹配原则。

mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配。所以要尽量把这些条件放在最后,把“=”条件放在前面。

不会用到b的索引:

where a=1 and c>0 and b=2

会用到b的索引:

where a=1 and b=2 and c>0

2.尽量选择区分度高的列作为索引,区分度的公式是count(distinct col)/count(*),表示字段不重复的比例,比例越大我们扫描的记录数越少。

3.当取出的数据超过全表数据的20%时,不会使用索引。

4.使用like时注意:

不使用索引:

like ‘%L%’

使用索引:

like ‘L%’

5.尽量将or 转换为 union all

不使用索引:

select * from user where name=’a’ or age=’20’

使用索引:

select * from user where name=’a’ union all select * from user where age=’20’<

想读更多 ->

mysql数据库表操作——表的主键索引和普通索引

发布者: superzhang | 发布时间:2017-12-22

mysql数据库表操作——表的主键索引和普通索引

广东IT优就业

数据库索引就象书的目录一样,如果在字段上建立了索引,那么以索引列为查询条件时可以加快查询数据的速度。查询数据库,按主键查询是最快的,每个表只能有一个主键列,但是可以有多个普通索引列,主键列要求列的所有内容必须唯一,而普通索引列不要求内容必须唯一。主键就类似我们在学校学习时的学好一样,班级里是唯一的,整个表的每一条记录的主键值在表内都是唯一的,用来唯一标识一条记录

创建表的时候同时为表创建主键索引和普通索引:例子如下    

mysql> create table student( id int(4) not null auto_increment, name char(20) not null, age tinyint(2) not null default'0', dept varchar(16) default null, primary key(id), key     index_na

想读更多 ->

手把手教你安装Mysql

发布者: superzhang | 发布时间:2017-12-22

手把手教你安装Mysql

广东IT优就业

目录

一、概述

二、MySQL安装

三、安装成功验证

四、NavicatforMySQL下载及使用

一、概述

MySQL版本:5.7.17

下载地址:http://rj.baidu.com/soft/detail/12585.html?ald

客户端工具:NavicatforMySQL

绿色版下载地址:http://www.cr173.com/soft/38153.html

二、MySQL安装

安装条件:

1).net framework4.0(下载地址:http://rj.baidu.com/soft/detail/15910.html?ald)

如果Windows Server 2003 在安装.net framework4.0安装过程中报错: net framework 4.0安装时

想读更多 ->

mysql数据库入门需要解决的3个问题

发布者: superzhang | 发布时间:2017-12-22

1. mysql数据库的导出导入,比较简单的方法是什么?

具体方法步骤如下

a.导出:

1)进入phpMyAdmin环境中,选择根目录(服务器:localhost),点击下方的“导出”超链接。:

mysql数据库入门需要解决的3个问题

2)在查看数据库的转存选项中,选择要导出的数据库,勾选下面的“另存为文件”复选框,点击“执行”按钮,然后选择导出文件路径,并且更改文件名。

mysql数据库入门需要解决的3个问题

说明:为了演示方便,导出后删除数据库。

b.删除:

1)选择根目录(服务器:localhost),点击下方的“数据库”超链接。

MySQL:由USE DB堵塞故障引发的思考

故障信息提取

还是回到上图,我们可以归纳一下语句类型如下:

1、CREATE TABLE A AS SELECT B

其STATE为 s

想读更多 ->

MySQL Sleep进程处理(二)

发布者: superzhang | 发布时间:2017-12-22

MySQL Sleep进程处理(二)

上一篇文章讲到了通过修改系统参数配置,自动结束MySQL数据库中超时的Sleep的进程。本次将讲述如何通过编写Shell脚本结束Sleep进程。

第一步,连接数据库

第二步,查询sleep进程

第三步,过滤选择对应的进程

第四步,结束选中的进程

最后一步,部署脚本。

按照以上的步骤,对照脚本如下:

#It is used to kill processlist of mysql sleep# shell脚本:Kill掉MySQL中所有sleep的client线程# 0 */1 * * * sh ~/mysql_kill_sleep_process.sh#!/bin/sh n=`mysqladmin processlist -uxxxx -pxxxx -hxx.xx.xx.xx1 |grep -i sleep | grep xx.xx.xx.xx2 | grep connect_user |wc -l` date=`date +%Y%m

想读更多 ->

数据库简单使用语句(九)

发布者: superzhang | 发布时间:2017-12-22

各位好,最近一段时间一直在更新Mysql简单使用语句,感觉不太受欢迎呢,没多少人看呢,没关系,但是我一定会继续更新完的,做事有始有终,让真正热爱MySQL的人能够看到,我会尽量把剩下的一些内容压缩一下,每次更新内容多一些,另外周末不更新技术类内容,会更新一些鸡汤、搞笑等事情,下面开始继续学习MySQL吧。

MySQL ALTER命令

先创建一个表alter_table表,然后使用alter命令对表字段进行删除、添加等操作。

数据库简单使用语句(九)

alter命令DROP表中字段

数据库简单使用语句(九)

alter命令ADD表中字段

如果我们需要指定新增字段的位置,

想读更多 ->

Mysql中关于聚合函数sum()最新的认识

发布者: superzhang | 发布时间:2017-12-22

最近开发后台接口的时候,需要做一个统计查询,使用到sum()函数,数据库中的表是以前已经设计好的,并且要进行统计查询的那张表在其他一些接口中已经使用,mysql的版本是5.5.28,这是背景。

当写接口写sql语句时,才发现需要用sum()函数统计的那个字段在表中设计好的数据类型是varchar类型,由于对聚合函数sum()认识不深,本以为直接统计会报错,语句如下:

SELECT SUM(file_size) FROM res_material

但运行正常,上网搜索时看到了这么一句话“如果varchar类型中存放的都是数字,需要看是什么数据库,如果是sqlserver那么可将字符转成数字再进行sum,如果是oracle,则可隐形转换成数字,无需修改语句”。虽然没有搜索到关于mysql中sum()函数也有隐形转化的特点,但我使用的是Mysql,如上文所示我没有在语句中加上cast()转换类型的函数,运行结果依然正确,这应该能够说明在mysql中的sum()函数与oracle一样也有隐形转化的特点(还需要学习)。

另外,经过测试,如果统计字段中有的值不是数字,那么也不会报错,sum()函数只统计数字行。

且当语句加上cast()函数时,统计结果依然正确:

SELECT SUM(CAST(file_size A

想读更多 ->