海量数据查询 mysql_在MySQL中查询海量数据

我正在从我的服务器检索所有传入的用户IP地址,我已检索到这些地址并将它们写入一个文件。我还过滤了文件中的ip地址,并将它们检索到变量ip中。但是,当我无法将ip地址上传到mysql数据库时。在

到目前为止,我有这个,但它不起作用。在with open("netstat.txt", 'rb') as f:

for row in f.readlines()[1:]:

columns = row.split()

if len(columns) > 2:

ip = row.split()[1]

user = row.split()[2]

ip = ip.strip('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')

con = mdb.connect('server', 'user', 'pass', 'db');

with con:

cur = con.cursor()

cur.executemany("INSERT INTO Juliet_Data(ip,user) VALUES,(%s,%s)" % ip,user)

我已将表格设置为:

^{pr2}$

给出的错误:Traceback (most recent call last):

File "C:\Documents and Settings\finance\Desktop\Server

Monitoring\System Load Tracker\User Tracking\netstat.py", line 32, in

cur.execute("INSERT INTO Juliet_Data(ip) VALUES,(%s)" % ip)

File "C:\Python27\lib\site-packages\MySQLdb\cursors.py", line 174, in

execute

self.errorhandler(self, exc, value)

File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 36,

in defaulterrorhandler

raise errorclass, errorvalue

_mysql_exceptions.ProgrammingError: (1064, "You have an error in your

SQL syntax; check the manual that corresponds to your MySQL server

version for the right syntax to use near '()' at line 1")

示例IP地址仅查看IP和用户:0.0.0.0:22 newjulietleft:0 LISTENING

TCP 0.0.0.0:135 newjulietleft:0 LISTENING

TCP 0.0.0.0:445 newjulietleft:0 LISTENING

TCP 0.0.0.0:1311 newjulietleft:0 LISTENING

TCP 0.0.0.0:3306 newjulietleft:0 LISTENING

TCP 0.0.0.0:3389 newjulietleft:0 LISTENING

TCP 0.0.0.0:5800 newjulietleft:0 LISTENING

TCP 0.0.0.0:5900 newjulietleft:0 LISTENING

TCP 0.0.0.0:47001 newjulietleft:0 LISTENING

TCP 0.0.0.0:49152 newjulietleft:0 LISTENING

TCP 0.0.0.0:49153 newjulietleft:0 LISTENING

TCP 0.0.0.0:49154 newjulietleft:0 LISTENING

TCP 0.0.0.0:49158 newjulietleft:0 LISTENING

TCP 0.0.0.0:49170 newjulietleft:0 LISTENING

TCP 10.22.22.22:139 newjulietleft:0 LISTENING

TCP 10.22.22.22:3389 gregk:17415 ESTABLISHED

TCP 10.22.22.22:49156 superman:microsoft-ds ESTABLISHED

TCP 10.22.22.22:49160 juliet:microsoft-ds ESTABLISHED

TCP 10.22.22.22:49164 pong:microsoft-ds ESTABLISHED

TCP 10.22.22.22:49165 ftpserve:microsoft-ds ESTABLISHED

TCP 10.22.22.22:50376 dbmlog:3306 ESTABLISHED

TCP 10.22.22.22:50377 hulk:microsoft-ds ESTABLISHED

TCP 10.22.22.22:50383 julietz:netbios-ssn TIME_WAIT

TCP 10.22.22.22:50384

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在处理MySQL海量数据的快速查询时,可以采取以下策略和注意事项。 首先,需要注意查询语句的优化。根据引用的内容,当数据量达到百万级且查询条件较多时,普通的SQL查询效率会下降。因此,需要对查询语句进行优化,确保其执行效率较高。可以考虑以下几点来优化查询语句: - 确保查询语句的where条件使用了合适的索引,避免不必要的全表扫描。根据引用的内容,当索引列有大量数据重复时,可能不会利用索引,因此需要注意索引的选择和使用。 - 尽量避免使用复杂的子查询和多层嵌套的查询,这样会增加查询的复杂度和执行时间。 其次,可以考虑采用分库分表的方式来处理海量数据。根据引用的内容,对于海量数据,可以通过将数据拆分成多个数据库或表来实现查询的加速。这样可以减少单个数据库或表的数据量,提高查询的效率。 此外,还可以通过使用缓存技术来提高查询速度。将频繁查询的结果缓存在缓存服务器,下次查询时可以直接从缓存获取结果,减少对数据库的访问。这对于一些静态或者不经常变化的数据查询效果明显。 最后,建议参考引用的内容,查看更多关于MySQL查询优化的技巧和经验,以便更好地应用到实际项目。 综上所述,对于MySQL海量数据的快速查询,需要优化查询语句,考虑分库分表,使用缓存技术,并参考更多的MySQL查询优化经验。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值