Coder Social home page Coder Social logo

Comments (8)

xzkostyan avatar xzkostyan commented on August 28, 2024 1

Пофиксил в последнем master.

from clickhouse-sqlalchemy.

xzkostyan avatar xzkostyan commented on August 28, 2024

Привет.

Да, это сломалось при рефакторинге. В качестве workaround можно вызывать .fetchall(). С ним порядок сохраняется и в новых версиях.

from sqlalchemy import create_engine, text 
from sqlalchemy.orm import sessionmaker 
 
uri = 'clickhouse+http://default:@localhost' 
 
engine = create_engine(uri) 
Session = sessionmaker() 
Session.configure(bind=engine) 
session = Session() 
print(list(session.execute('select * from system.numbers limit 5').fetchall()))
[(0,), (1,), (2,), (3,), (4,)]

Почему вы используете http-диалект вместо native-диалекта?

from clickhouse-sqlalchemy.

mii13 avatar mii13 commented on August 28, 2024

Открыт порт только на http подключение.
В следующем релизе, можно ли ожидать исправление данного поведение с fetchone?
Помимо трафика, у native-диалекта есть еще преимущества над http?

from clickhouse-sqlalchemy.

xzkostyan avatar xzkostyan commented on August 28, 2024

Да, в следующем релизе это будет исправлено.

Если таскать большое количество данных между клиентом и сервером, то native лучше с точки зрения производительности (массив int-ов бинарно (де)сериализуется быстрее, чем в текст). Если данных между клиентом и сервером немного путешествует, то разницы в общем-то немного. Руки никак не дойдут сделать их сравнение.

from clickhouse-sqlalchemy.

mii13 avatar mii13 commented on August 28, 2024

Спасибо за развернутый ответ!

from clickhouse-sqlalchemy.

mii13 avatar mii13 commented on August 28, 2024

прошу прощение за бестактность.
на мой взгляд row.pop(0) будет медленнее чем row = row[::-1]; row.pop().

from clickhouse-sqlalchemy.

xzkostyan avatar xzkostyan commented on August 28, 2024

Да, конечно, второй вариант будет быстрее. Подумаю над его возвращением.

from clickhouse-sqlalchemy.

mii13 avatar mii13 commented on August 28, 2024

Немного поэкспериментировал row.pop(0) будет быстрее для небольших данных (до 40_000):

for 1_000_000
python -m timeit -r 1 -u msec -s 'l = list(range(1_000_000))' 'while len(l) > 0: l.pop(0)'
10 loops, best of 1: 5.24e+04 msec per loop

python -m timeit -r 1 -u msec -s 'l = list(range(1_000_000))' 'l = l[::-1]' 'while len(l) > 0: l.pop()'
1000000 loops, best of 1: 0.000296 msec per loop

for 1_000
python -m timeit -r 1 -u usec -s 'l = list(range(1_000))' 'while len(l) > 0: l.pop(0)'
10000000 loops, best of 1: 0.0675 usec per loop

python -m timeit -r 1 -u usec -s 'l = list(range(1_000))' 'l = l[::-1]' 'while len(l) > 0: l.pop()'
10000000 loops, best of 1: 0.141 usec per loop

from clickhouse-sqlalchemy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.