• Winged_Hussar@lemmy.world
    link
    fedilink
    English
    arrow-up
    46
    ·
    2 years ago

    And the data they want is the entire FY, is 3,000,000 records and they need every single data attribute making the file like 250 MBs. Then you put it in their SharePoint and they get mad they can’t just view it in the browser despite the giant “This file is too large to view online, download it” message.

  • Melatonin@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    40
    ·
    2 years ago

    Hey! I just started looking at SQL and this is the first SQL joke I’ve ever seen or at least ever gotten!

    So, congratulations me!

  • Dentarthurdent@lemmy.world
    link
    fedilink
    arrow-up
    34
    ·
    2 years ago

    Same feel as “how long is this going to take to pull?” Well I don’t know if part of what you’re asking for exists, how clean it is, and if can join the data you’re talking about, so anywhere from 5 minutes to never?

    • pomodoro_longbreak@sh.itjust.works
      link
      fedilink
      arrow-up
      8
      ·
      2 years ago

      If it’s regular, I recommend cron + mailutils. Have the cron job call a script with a variable sleep in it if you want to make it look more manual.

  • pomodoro_longbreak@sh.itjust.works
    link
    fedilink
    arrow-up
    27
    ·
    2 years ago

    Man I don’t regret leaving this behind at my last job. You start out by doing someone a one-off like “sure I can pull the top 5 promotional GICs broken down by region for your blog article - I love supporting my co-workers!”

    Then requests become increasingly esoteric and arcane, and insistent.

    You try to build a simple FE to expose the data for them, but you can’t get the time approved so you either have to do it with OT or good ol’ time theft, and even then there’s no replacement for just writing SQL, so you’ll always be their silver bullet.

    • applebusch@lemmy.world
      link
      fedilink
      arrow-up
      13
      arrow-down
      1
      ·
      2 years ago

      At that point you teach them how to do it themselves. Isn’t there a way to give them an account that only has read access so they can’t inadvertently screw up the database?

      • pomodoro_longbreak@sh.itjust.works
        link
        fedilink
        arrow-up
        9
        ·
        2 years ago

        I like that idea, and it actually did work for our Marketing guy (Salesforce has a kind of SQL). Near the end there, I just had to debug a few of his harder errors, or double check a script that was going to be running on production.

        Never thought of it for Postres or Mysql, etc, but I suppose there’s got to be an easy enough way to get someone access

      • lazyslacker@sh.itjust.works
        link
        fedilink
        arrow-up
        3
        ·
        2 years ago

        In Oracle you’d just set up a user that has limited access and give them those credentials. Creating a few views that pulls in the data they want is a bonus.

  • Crashumbc@lemmy.world
    link
    fedilink
    English
    arrow-up
    25
    ·
    2 years ago

    Worked on a enterprise medical database, had thousands of tables, and some of the most corrupt data possible. This triggers me :(

  • PizzaMan@lemm.ee
    link
    fedilink
    arrow-up
    25
    ·
    2 years ago

    At work, I am currently dealing with a table that has no primary key, no foreign key, duplicate (almost) serial numbers, booleans stored as strings, and so on. It’s a nightmare of a table.

    Entity framework is acting like I’m on meth for using such a table.

    • (╯°□°)╯︵ ┻━┻@programming.dev
      link
      fedilink
      English
      arrow-up
      17
      ·
      2 years ago

      I’ve been there and you know what’s worse about it? When you fix it only you or a handful of people notice the astronomical labor you did.

      “It worked before why did you change it? You are just doing busywork”

      • PizzaMan@lemm.ee
        link
        fedilink
        arrow-up
        10
        ·
        2 years ago

        Yeah. Luckily the work I am doing is to fix some really bad work that the entire company has been complaining about. So once it’s fixed it will hopefully be a little bit more recognition than that. Plus my boss is pretty level headed.

        But who fucking knows? There is always the likelihood that people will say things along those lines. And it ain’t my job to fight them on that.

      • PizzaMan@lemm.ee
        link
        fedilink
        arrow-up
        8
        ·
        2 years ago

        No, we have worse. Dates sometimes stored as strings, sometimes as datetimes, and sometimes as integers. There is no consistency, logic, or forethought to the schema.

        It’s rough.

  • Ensign Rick@startrek.website
    link
    fedilink
    English
    arrow-up
    13
    ·
    2 years ago

    Me this morning. I’m gonna take a look at why this Jenkins pipeline is failing. This one job starts a dozen others. Half are failing. For different reasons. After starting rewriting a job that someone half assed. Realize the original error was caused by missing input but some are still valid. Still can’t figure out why my rewritten program is erroring. Get pulled away because another program did something weird… I completed nothing today but worked a ton.

    My day…

  • Mango@lemmy.world
    link
    fedilink
    arrow-up
    9
    ·
    2 years ago

    Well if organizing things in pristine tables makes things quick, why can’t we have nice things?

      • Alien Nathan Edward@lemm.ee
        link
        fedilink
        arrow-up
        8
        ·
        2 years ago

        our biggest client prefers data as Jason so we swapped half of our database to that

        the app I work with currently stores json as the only column in a sql table and it hurts me so very much. like watching someone pick up a screwdriver and try to bash a nail in with the handle.

    • Gallardo994@sh.itjust.works
      link
      fedilink
      arrow-up
      24
      ·
      2 years ago

      If they existed for tons of random usecases. When was the last time you created views for “just in case someone asks” situations?

      • doctordevice@lemm.ee
        link
        fedilink
        arrow-up
        16
        ·
        2 years ago

        Basically scripts you can run on the fly to pull calculated data. You can (mostly) treat them like tables themselves if you create them on the server.

        So if you have repeat requests, you can save the view with maybe some broader parameters and then just SELECT * FROM [View_Schema].[My_View] WHERE [Year] = 2023 or whatever.

        It can really slow things down if your views start calling other views in since they’re not actually tables. If you’ve got a view that you find you want to be calling in a lot of other views, you can try to extract as much of it as you can that isn’t updated live into a calculated table that’s updated by a stored procedure. Then set the stored procedure to run at a frequency that best captures the changes (usually daily). It can make a huge difference in runtime at the cost of storage space.

      • calabast@lemm.ee
        link
        fedilink
        arrow-up
        15
        ·
        edit-2
        2 years ago

        A view is a saved query that pretends it’s a table. It doesn’t actually store any data. So if you need to query 10 different tables, joining them together and filtering the results specific ways, a view would just be that saved query, so instead of “SELECT * FROM (a big mess of tables)” you can do “SELECT * FROM HandyView”

      • Restaldt@lemm.ee
        link
        fedilink
        arrow-up
        8
        ·
        2 years ago

        Predefined queries that you can interact with like another table more or less

  • ExtraMedicated@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    2 years ago

    You wanna know why this dashboard takes a full minute to load? It’s because it joins every table in the fucking database because some people can’t be bothered to look at a separate page for certain information.

      • Ð Greıt Þu̇mpkin@lemm.ee
        link
        fedilink
        arrow-up
        4
        arrow-down
        1
        ·
        2 years ago

        Nah this is one of those slick work deals, legit all you need to do is list all your entries, order a pivot table, and then you can just arrange your variables to display however you want them to, do a little format pizaz, and voila, here’s that “report” you asked for!