myd 最近的时间轴更新
myd

myd

V2EX 第 440836 号会员,加入于 2019-09-11 17:24:22 +08:00
今日活跃度排名 2726
问个 Redis 的问题
Redis  •  myd  •  7 小时 28 分钟前  •  最后回复来自 lldld
31
时间范围查询如何优化?
MySQL  •  myd  •  2 天前  •  最后回复来自 myd
16
2020 年, Windows 有什么 XShell 的替代方案?
软件  •  myd  •  105 天前  •  最后回复来自 linux40
84
给想注册公司的人泼个冷水
  •  2   
    创业组队  •  myd  •  108 天前  •  最后回复来自 zjhgx
    27
    PHP 如何捕获 Catchable fatal error?
  •  1   
    PHP  •  myd  •  350 天前  •  最后回复来自 dilu
    3
    入坑腾讯云要谨慎啊,备案事情真多
    程序员  •  myd  •  97 天前  •  最后回复来自 cnscorpions
    61
    myd 最近回复了
    13 小时 17 分钟前
    回复了 myd 创建的主题 Redis 问个 Redis 的问题
    @also24 可以把设置 key 和设置过期时间分开。如果 key 存在就不设置过期时间。主要是使用字符串,需要遍历用户,变成 O(N)了。
    14 小时 0 分钟前
    回复了 myd 创建的主题 Redis 问个 Redis 的问题
    打错,前者。
    14 小时 0 分钟前
    回复了 myd 创建的主题 Redis 问个 Redis 的问题
    @also24 是的,后者,从购买时间开始计算的 24 小时。


    @junan0708 限制时间不一定是 24 小时。
    14 小时 18 分钟前
    回复了 chennqqi755 创建的主题 云计算 良心云的轻量老用户专属回馈这个活动有坑吗?
    没坑,已上车
    15 小时 1 分钟前
    回复了 csulyb 创建的主题 程序员 大龄程序员创业计划
    工具不错,已收藏
    15 小时 4 分钟前
    回复了 pekki 创建的主题 程序员 有什么工具能把 docx 转化成 html 吗
    2 天前
    回复了 v2webdev 创建的主题 程序员 “宕机”一词在技术文档中如何表达?
    down 机
    2 天前
    回复了 myd 创建的主题 MySQL 时间范围查询如何优化?
    @JustLookBy 现在我用的时间戳是 4 字节的 int,没有超过 2^32 。百万数据 1 秒是正常的,全表扫描就是这个速度。
    2 天前
    回复了 myd 创建的主题 MySQL 时间范围查询如何优化?
    @JustLookBy

    有点像 online_time 和 offline_time,数据量少的时候可以使用索引。

    数据量 100w 时,也是全表扫描。SQL:
    ```sql
    EXPLAIN
    select * from online_log where
    MBRContains(online_range,ST_GeomFromText('point(1614152940 0)'));

    +----+-------------+------------+------------+------+--------------------+------+---------+------+---------+----------+-------------+
    | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
    +----+-------------+------------+------------+------+--------------------+------+---------+------+---------+----------+-------------+
    | 1 | SIMPLE | online_log | NULL | ALL | index_online_range | NULL | NULL | NULL | 1343396 | 31.03 | Using where |
    +----+-------------+------------+------------+------+--------------------+------+---------+------+---------+----------+-------------+
    1 row in set, 1 warning (0.00 sec)
    ```
    这条 SQL 最后筛选出来的数据大约 100 条。


    优化过程:
    ```
    ......
    "analyzing_range_alternatives": {
    "range_scan_alternatives": [
    {
    "index": "index_online_range",
    "ranges": [
    "online_range unprintable_geometry_value"
    ],
    "index_dives_for_eq_ranges": true,
    "rowid_ordered": false,
    "using_mrr": false,
    "index_only": false,
    "rows": 425368,
    "cost": 510443,
    "chosen": false,
    "cause": "cost"
    }
    ],
    "analyzing_roworder_intersect": {
    "usable": false,
    "cause": "too_few_roworder_scans"
    }
    }
    ......
    ```
    3 天前
    回复了 myd 创建的主题 MySQL 时间范围查询如何优化?
    @JustLookBy
    @546L5LiK6ZOt
    联合索引用不上,是因为,根据最左前缀原则,只要有一个索引字段使用了范围查询(>、<、<=、>=),后面的索引字段就不生效了。
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1050 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 22:11 · PVG 06:11 · LAX 14:11 · JFK 17:11
    ♥ Do have faith in what you're doing.